如何使用 wildfly 为 javax websockets 设置自定义路径
How to set custom path for javax websockets using wildfly
我想知道是否可以设置链接到@ServerEndpoint 注释的自定义 URI 路径和端口号。
目前wildfly服务器启动后可以在以下路径打开websocket
ws://localhost:8080/test-1.0-SNAPSHOT/wstest
其中 test-1.0-SNAPSHOT 似乎是 POM 中指定的 artifactID 和版本。
我希望打开它的是
ws://localhost:8025/custom-path/wstest
感谢您的帮助
我不会过多谈论暗示在你的 wildfly 服务器前面设置反向代理以便做任何你想做的解决方案(监听多个端口,将一个 URL 映射到另一个。 ..)
Wilfly 部署应用程序(通常 war,但可以 war inside ear)。那些 war 部署在上下文中(在您的示例中为 /test-1.0-SNAPSHOT)。此上下文通常是您使用的 war 文件的名称(或者如果您使用 ear,则在 ear 文件的 application.xml 中定义的名称)。
您可以通过在 war 文件中添加 WEB-INF/jboss-web.xml
文件来更新它。内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee">
<context-root>/myContext</context-root>
</jboss-web>
对于端口,和每台服务器一样,随意监听一个端口(默认8080)。在管理控制台上,可以找到,修改(或添加其他监听器)。
但是即使你设置了多个监听器,你也无法在一个实例上在一个端口上监听 WS,在另一个端口上监听 HTTP。两个端口都会做所有事情。
并且一个应用程序只能部署在一个上下文中。如果您不需要上下文,您可以部署在根上下文 ("/") 上,但如果您在同一实例上部署其他应用程序,它会变得棘手。
我想知道是否可以设置链接到@ServerEndpoint 注释的自定义 URI 路径和端口号。
目前wildfly服务器启动后可以在以下路径打开websocket
ws://localhost:8080/test-1.0-SNAPSHOT/wstest
其中 test-1.0-SNAPSHOT 似乎是 POM 中指定的 artifactID 和版本。
我希望打开它的是
ws://localhost:8025/custom-path/wstest
感谢您的帮助
我不会过多谈论暗示在你的 wildfly 服务器前面设置反向代理以便做任何你想做的解决方案(监听多个端口,将一个 URL 映射到另一个。 ..)
Wilfly 部署应用程序(通常 war,但可以 war inside ear)。那些 war 部署在上下文中(在您的示例中为 /test-1.0-SNAPSHOT)。此上下文通常是您使用的 war 文件的名称(或者如果您使用 ear,则在 ear 文件的 application.xml 中定义的名称)。
您可以通过在 war 文件中添加 WEB-INF/jboss-web.xml
文件来更新它。内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee">
<context-root>/myContext</context-root>
</jboss-web>
对于端口,和每台服务器一样,随意监听一个端口(默认8080)。在管理控制台上,可以找到,修改(或添加其他监听器)。
但是即使你设置了多个监听器,你也无法在一个实例上在一个端口上监听 WS,在另一个端口上监听 HTTP。两个端口都会做所有事情。
并且一个应用程序只能部署在一个上下文中。如果您不需要上下文,您可以部署在根上下文 ("/") 上,但如果您在同一实例上部署其他应用程序,它会变得棘手。