【发布时间】:2016-06-01 02:51:46
【问题描述】:
我构建了一个 jhipster 应用程序。添加了一个实体。用
构建它mvn -Pprod package
当我使用tomcat时,应用程序运行良好
java -jar xyz.war
但是,由于我们需要 Undertow 来处理高负载场景和快速启动时间,所以我只需在所有地方(所有配置文件)中根据 Spring 文档提到 tomcat 启动器依赖项,将 maven 依赖项从 Tomcat 更改为 Undertow:@ 987654321@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
从 Eclipse 运行时运行良好,我可以看到请求现在由 Undertow 提供服务,而不是 Tomcat,因为日志将 XNIO 打印为线程 ID。
但是,当我再次构建它并尝试使用java -jar xyz.war 运行它时,
应用程序启动正常,但是当我点击 URL 时
http://127.0.0.1:8081
它说没有找到。
我还需要做什么才能让嵌入 Undertow 的 jHipster 应用程序正常工作?
任何作为在我们组织中推动 jHipster 的关键 POC 的快速帮助都取决于此步骤。
【问题讨论】:
-
我们曾经用我们的快速配置文件支持 undertow,但我们在下一个版本中放弃了它,因为现在不需要快速配置文件,而且我们上次检查时 undertow 不支持 websockets。因此,从您的帖子看来,您似乎正在尝试使用开发配置文件运行。您是否也尝试在 prod 配置文件中运行它?
-
顺便说一句,您使用的是什么 jhipster 版本?如果它是 2.27 或更低,则生成一个应用程序并尝试运行
mvn -Pfast package,然后运行java -jar xyz.war -Dspring.profiles.active=fast,dev,而不修改默认情况下应该使用 undertow 的任何内容 -
您好,Deepu,感谢您关注此线程并回复。我尝试使用 --spring.profiles.active=dev,fast 但我认为它正在回退到 tomcat 并且并没有真正启动 Undertow。当我使用 rampusers(900) 对应用程序进行 gatling 测试并打开可视 VM 时,我注意到创建的线程的名称以“nio....”开头,并且线程数
-
当我使用 rampusers(900) 对应用程序进行 Gatling 测试并打开可视 VM 时,我注意到创建的线程的名称以“nio....”开头,并且创建的线程数大约是 215。如果我只是将 pom 依赖项更改为“spring-boot-starter-undertow”并在 main 方法的帮助下通过 eclipse 运行它,那么在视觉 vm 中看到的线程命名约定是它们以“XNIO..在 900 个用户的 Gatling 测试中,使用的线程总数仅为 50。
-
而我使用的jHipster版本是2.27
标签: jhipster