如何在 wildfly 服务器内为 websockets 创建独立的 tyrus 客户端以在两个 wildfly 实例之间进行通信
how to create standalone tyrus client for websockets inside the wildfly server to communicate between two wildfly instances
- 正在尝试在两个不同的 wildfly 实例上的两个单独的可部署 war 之间建立 websocket 连接。
使用 tyrus-standalone-client 与另一个 war.
建立 websocket 连接
下面是用于建立网络套接字连接的片段
问题:是否可以将 websocket 连接到另一个可部署的 war?
当我 运行 甚至没有 101-404 错误(握手错误)时,我找不到任何异常。
AuthConfig authConfig = AuthConfig.Builder.create().disableProvidedDigestAuth().build();
Credentials credentials = new Credentials("root", "xyz");
ClientManager client = ClientManager.createClient();
client.getProperties().put(ClientProperties.AUTH_CONFIG, authConfig);
client.getProperties().put(ClientProperties.CREDENTIALS, credentials);
try (Session session = client.connectToServer(GovernorNodeWebSocketClient.class, new URI("ws://10.203.67.168:8080/xyz"))) {
session.getBasicRemote().sendObject("xyz");
System.out.println("4sendMessageToRemoteGovernor :: sent the message from device services to the remote governor"+responseObject.getJson());
}
catch (Exception e) {
e.printStackTrace();
}
是的,在删除凭据部分和 ClientManager.createClient();
之后,当我使用下面的代码片段时,这是可能的
因此,通过在您的 wildfly 实例上添加 tyrus 依赖项,我们可以在它们之间设置 websocket 连接
try {
System.out.println("sendMessageToRemoteGovernor :: "+message.getJson());
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
session = container.connectToServer(XYZ.class, new URI("ws://localhost:8080/xyz/xyz"));
session.getBasicRemote().sendObject(message);
}
catch (Exception e) {
e.printStackTrace();
}
- 正在尝试在两个不同的 wildfly 实例上的两个单独的可部署 war 之间建立 websocket 连接。
使用 tyrus-standalone-client 与另一个 war.
建立 websocket 连接
下面是用于建立网络套接字连接的片段
问题:是否可以将 websocket 连接到另一个可部署的 war? 当我 运行 甚至没有 101-404 错误(握手错误)时,我找不到任何异常。
AuthConfig authConfig = AuthConfig.Builder.create().disableProvidedDigestAuth().build();
Credentials credentials = new Credentials("root", "xyz");
ClientManager client = ClientManager.createClient();
client.getProperties().put(ClientProperties.AUTH_CONFIG, authConfig);
client.getProperties().put(ClientProperties.CREDENTIALS, credentials);
try (Session session = client.connectToServer(GovernorNodeWebSocketClient.class, new URI("ws://10.203.67.168:8080/xyz"))) {
session.getBasicRemote().sendObject("xyz");
System.out.println("4sendMessageToRemoteGovernor :: sent the message from device services to the remote governor"+responseObject.getJson());
}
catch (Exception e) {
e.printStackTrace();
}
是的,在删除凭据部分和 ClientManager.createClient();
之后,当我使用下面的代码片段时,这是可能的因此,通过在您的 wildfly 实例上添加 tyrus 依赖项,我们可以在它们之间设置 websocket 连接
try {
System.out.println("sendMessageToRemoteGovernor :: "+message.getJson());
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
session = container.connectToServer(XYZ.class, new URI("ws://localhost:8080/xyz/xyz"));
session.getBasicRemote().sendObject(message);
}
catch (Exception e) {
e.printStackTrace();
}