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