【发布时间】:2016-04-05 17:13:23
【问题描述】:
我需要部署到仅支持 Tomcat 容器并且希望将 Vert.x 作为异步框架运行的 PaaS(HANA 云平台)。
到目前为止,我所做的是通过一个 servlet 引导 Vert.x:
public class VertxServlet extends HttpServlet {
...
@Override
public void init(ServletConfig cfg) {
Vertx vertx = Vertx.vertx();
vertx.createHttpServer().requestHandler(new Handler<HttpServerRequest>() {
public void handle(HttpServerRequest req) {
System.out.println("Got request: " + req.uri());
System.out.println("Headers are: ");
for (Map.Entry<String, String> entry : req.headers()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
req.response().headers().set("Content-Type", "text/html; charset=UTF-8");
req.response().end("<html><body><h1>Hello from vert.x!</h1></body></html>");
}
}).listen(8888);
}
...
}
在我的 web.xml 中我放了这个:
<servlet>
<servlet-name>VertxServlet</servlet-name>
<display-name>VertxServlet</display-name>
<description></description>
<servlet-class>com.mypackage.VertxServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
效果很好。问题是 PaaS 无法配置端口映射。包括反向代理在内的整个 Tomcat 都是一个准备好的解决方案。
问题:
将 Vert.x 作为
.war文件运行是否可行? 有什么限制和以后可能出现的困难吗?有没有办法将我的小 Vert.x 服务器绑定到默认的 Tomcat 端口而不会遇到端口冲突?
谢谢
【问题讨论】:
标签: java tomcat jakarta-ee vert.x