我想知道是否可以设置链接到@ServerEndpoint注释的自定义URI路径和端口号。
目前,一旦启动wildfly服务器,便可以在以下路径上打开websocket。
ws://本地主机:8080 / test-1.0-SNAPSHOT / wstest
其中test-1.0-SNAPSHOT似乎是POM中指定的工件ID和版本。
我希望打开它的是
ws://本地主机:8025 / custom-path / wstest
感谢您的帮助
答案 0 :(得分:1)
对于解决方案,我将不做过多介绍,该方案意味着在您的wildfly服务器前设置反向代理以执行您想要的任何事情(侦听多个端口,将一个URL映射到另一个URL ...)
Wilfly部署应用程序(通常是战争,但是可以在耳朵内战争)。这些战争部署在上下文中(在您的示例中为/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>
对于端口,就像每台服务器一样,wilfly侦听端口(默认为8080)。在管理控制台上,您可以找到它,然后对其进行修改(或添加另一个侦听器)。
但是,即使您设置了多个侦听器,您也将无法在单个实例上侦听一个端口上的WS,并侦听另一个端口上的HTTP。两个端口都可以做。
一个应用程序只能部署在单个上下文中。如果您不想使用上下文,则可以在根上下文(“ /”)上进行部署,但是如果您在同一实例上部署其他应用程序,则可能会变得棘手。