问题描述
我正在使用websocket连接将来自webapp-A的请求转发到另一个webapp-B。我正在将Jersey框架用于web应用程序,并在webapp-A的ContainerRequestFilter中转发请求。
ContainerRequestFilter:
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
Map<String,Session> sessionMap = WebSocketUtil.getSessionMap();
try {
String clusterId = "hello";
if(sessionMap.containsKey(clusterId)) {
Session current_Session = sessionMap.get(clusterId);
if(current_Session.isopen()) {
// forwarding request
WebSocketRequestDto requestDto = new WebSocketRequestDto(requestContext);
current_Session.getBasicRemote().sendobject(requestDto);
} else {
sessionMap.remove(clusterId);
}
}
} catch (EncodeException e) {
System.out.println("Error while pushing the request");
e.printstacktrace();
}
}
现在问题是webapp-A正在发送请求的响应(未找到404),而没有等待从websocket获得响应。如何保留jersey响应以等待websocket响应,然后将响应发送给请求?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)