【发布时间】:2016-07-04 09:47:36
【问题描述】:
我们正在将 Spring Web 套接字集成到我们的应用程序中,我运行了 hello world 示例,令人惊奇的是,spring 为我们将所有东西都连接起来,以便将服务器端通知推送到客户端。
不过我有一些简单的问题
1) 队列是如何创建的?我正在使用 ActiveMQ 并且队列名称不同(例如,像 greetings-user3n9_jn3i 一样)然后我在目的地中指定的例如
simpMessageSendingOperations.convertAndSend("/test/greeting", new Greeting("Hello Socket Listener!"));
2) 目的地名称与队列不同吗?
3) 我正在使用 ActiveMQ 控制台创建新队列,例如/test1/greeting and send 我在客户端订阅它们,如图所示
var stompClient = null;
connect();
function connect() {
var socket = new SockJS(stompUrl);
stompClient = Stomp.over(socket);
stompClient.connect({}, function(frame) {
console.log('Connected: ' + frame);
stompClient.subscribe('/user/queue/greetings', function(greeting){
alert(greeting);
});
});
}
function disconnect() {
if (stompClient != null) {
stompClient.disconnect();
}
setConnected(false);
console.log("Disconnected");
}
$("#lstnMsgsBtn").click(function() {
$.ajax({
url: testUrl,
type: "POST",
success: function(data) {
var queueName = data.queueName;
stompClient.subscribe(queueName, function(greeting){
alert(greeting);
});
},
error : function(jqXhr, textStatus, errorThrown) {
alert(errorThrown);
}
});
});
我无法订阅 queueName,我很确定我的想法是错误的,任何指针都将不胜感激。
【问题讨论】:
标签: java activemq stomp spring-websocket sockjs