我是websocket的新手,并尝试了几个例子。我创建的应用程序可以正常运行10到15分钟,从那时起,它会在websocket会话上调用sendText方法时抛出超时异常。我将“org.apache.tomcat.websocket.BLOCKING_SEND_TIMEOUT”的值更改为-1,现在它挂起了。 你能不能帮我解决这个问题。
我编写的将数据发送到websocket的代码如下:
public void update() {
Dashboard dashboardData = tunnelDataService.getDashboardData();
ObjectWriter ow = new ObjectMapper().writer();
String json = null;
try {
json = ow.writeValueAsString(dashboardData);
} catch (JsonGenerationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (JsonMappingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
synchronized (lock) {
if (session.isOpen()) {
session.getBasicRemote().sendText(json);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我正在JBoss EAP 6.3上部署这个应用程序。