Wildfly 中 2 个不同模块的 REST 相同路径
same Path with REST for 2 Different Modules in Wildfly
我正在使用 Wildfly 9 并有 2 个不同的模块 (Wars) 我部署并声明为一个应用程序 (Servlet)。
我在没有 web.xml 文件的情况下使用 Dynamic Web Modules v 3.1 和带有 PathAnnotation 的应用程序子类。
现在每个模块路径中都有自己的包名。
例如 Test-Modul localhost:8080/testmodul/
等等。
但是我需要 2 个不同的 War 文件来监听相同的路径,比如 localhost:8080/api
.
不可能有共享相同上下文的不同部署。但是在应用服务器前面使用反向代理可以达到预期的效果。
实际上我找到了一种方法,因为它是可能的:
在 Wildfly 中,您可以创建一个名为 "jboss-web.xml" 的文件并将其放入模块的 WEB-INF 文件夹中。
在此 xml 中,您现在可以定义 web.xml 或其他方式无法实现的不同内容。
例如,您可以使用选项 来定义模块的路径。在我的示例中,jboss-web.xml 将如下所示:
<jboss-web>
<context-root>/api/modules</context-root>
</jboss-web>
现在您可以在以下位置访问两个已部署的模块:
www.localhost:8080/api/modules
还有很多其他可能的命令,您可以在这里阅读:
https://docs.jboss.org/jbossweb/7.0.x/appdev/jbossweb.html
我正在使用 Wildfly 9 并有 2 个不同的模块 (Wars) 我部署并声明为一个应用程序 (Servlet)。
我在没有 web.xml 文件的情况下使用 Dynamic Web Modules v 3.1 和带有 PathAnnotation 的应用程序子类。
现在每个模块路径中都有自己的包名。
例如 Test-Modul localhost:8080/testmodul/
等等。
但是我需要 2 个不同的 War 文件来监听相同的路径,比如 localhost:8080/api
.
不可能有共享相同上下文的不同部署。但是在应用服务器前面使用反向代理可以达到预期的效果。
实际上我找到了一种方法,因为它是可能的:
在 Wildfly 中,您可以创建一个名为 "jboss-web.xml" 的文件并将其放入模块的 WEB-INF 文件夹中。
在此 xml 中,您现在可以定义 web.xml 或其他方式无法实现的不同内容。
例如,您可以使用选项
<jboss-web>
<context-root>/api/modules</context-root>
</jboss-web>
现在您可以在以下位置访问两个已部署的模块: www.localhost:8080/api/modules
还有很多其他可能的命令,您可以在这里阅读: https://docs.jboss.org/jbossweb/7.0.x/appdev/jbossweb.html