ClientWebSocketContainer Spring类可以为远程端点提供websocket连接会话。虽然如果尝试使用ClientWebSocketContainer stop(),start()和getSession()方法重新建立关闭连接(尝试失败后),则建立连接,但ClientWebSocketContainer认为它不是&#39 ; t由于尝试失败时设置的openConnectionException而连接。
@Override
public void onFailure(Throwable t) {
logger.error("Failed to connect", t);
ClientWebSocketContainer.this.openConnectionException = t;
ClientWebSocketContainer.this.connectionLatch.countDown();
}
我是否应该能够以这种方式使用ClientWebSocketContainer,还是应该创建自己的客户端连接管理器?
答案 0 :(得分:1)
我认为这只是一个错误,ClientWebSocketContainer
逻辑中的某种遗漏。
我刚刚就这件事提出了JIRA。今天将修复。
同时告诉我们更多信息您的任务是什么?
ClientWebSocketContainer
基于ConnectionManagerSupport
,其中一个实现是WebSocketConnectionManager
。因此,请考虑使用最后一个来获取会话。
如果使用Spring Integration WebSocket Adapters,除非实现自己的ClientWebSocketContainer
变体,否则无法做出选择。是的,它完全可以基于现有的。