Мы используем пружинный удар по веб-сокетам, поддерживаемый ActiveMQ 5.11.1. Когда клиент подтверждает сообщение, я получаю следующее исключение:
"<<< ERROR
content-type: text / plain message: неожиданный ACK получен для идентификатора сообщения [ID \ cjanus-61128-1430365808166-2 \ c1 \ c-1 \ c1 \ c1] content-length: 722
org.apache.activemq.transport.stomp.ProtocolException: получен неожиданный ACK для идентификатора сообщения [ID: janus-61128-1430365808166-2: 1: -1: 1: 1] в org.apache.activemq.transport.stomp. ProtocolConverter.onStompAck (ProtocolConverter.java:462) в org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommand (ProtocolConverter.java:247) в org.apache.activemq.transport.stomp.StompTransportFilter. 75) в org.apache.activemq.transport.TransportSupport.doConsume (TransportSupport.java:83) в org.apache.activemq.transport.tcp.TcpTransport.doRun (TcpTransport.java:214) в org.apache.activemq.transport .tcp.TcpTransport.run (TcpTransport.java:196) в java.lang.Thread.run (Thread.java:744)
Вот код клиента:
var sub_id = stompClient.subscribe('/user/guest/msg', function(greeting){
x = JSON.parse(greeting.body);
var message_id = greeting.headers['message-id']
stompClient.ack(message_id, sub_id);
}, {ack: 'client'});
Я попытался установить подтверждение для индивидуального клиента, и это не помогло. Может ли кто-нибудь сказать мне, что я упускаю / делаю не так?