【发布时间】:2016-08-14 22:02:42
【问题描述】:
我正在使用this guide 来实现一个简单的 Stomp 客户端:
WebSocketClient webSocketClient = new StandardWebSocketClient();
WebSocketStompClient stompClient = new WebSocketStompClient(webSocketClient);
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.afterPropertiesSet();
stompClient.setTaskScheduler(taskScheduler); // for heartbeats
stompClient.setMessageConverter(new StringMessageConverter());
StompSessionHandler sessionHandler = new MySessionHandler();
stompClient.connect("ws://server/endpoint", sessionHandler);
// WAITING HERE
连接完成后应该异步报告给MySessionHandler:
public class MySessionHandler extends StompSessionHandlerAdapter
{
@Override
public void afterConnected(StompSession session, StompHeaders connectedHeaders)
{
// WAITING FOR THIS
}
}
所以问题是:WAITING HERE 行应该如何等待WAITING FOR THIS 行?是否有特定的 Spring 方式来执行此操作?如果不是,哪种通用 Java 方式最适合这里?
【问题讨论】:
标签: java spring multithreading concurrency spring-websocket