使用 Rabbitmq STOMP websocket 获取队列大小

Posted

技术标签:

【中文标题】使用 Rabbitmq STOMP websocket 获取队列大小【英文标题】:Get queue size using Rabbitmq STOMP websocket 【发布时间】:2018-06-14 14:31:43 【问题描述】:

我想构建一个消息队列系统,我正在尝试通过 RabbitMQ STOMP web-socket 构建一个客户端,它不仅可以将消息发送到队列,还可以知道它发送到的队列的大小。如何从客户端获取队列大小?

这是我得到的代码(javascript 部分):

<script>
    var ws = new WebSocket('ws://127.0.0.1:15674/ws');
    var client = Stomp.over(ws);

    var on_connect = function() 

    ;
    var on_error =  function() 
        alert("error");
    ;

    client.connect('guest', 'guest', on_connect, on_error);

    function sendMessage()
        var text = $('#first form input').val();
        client.send('/queue/test', null, text);
    

</script>

【问题讨论】:

【参考方案1】:

您正在寻找的是 basic.get 方法。此方法使用同步对话提供对队列中消息的直接访问,该对话专为同步功能比性能更重要的特定类型的应用程序而设计。

http://www.rabbitmq.com/amqp-0-9-1-quickref.html

【讨论】:

以上是关于使用 Rabbitmq STOMP websocket 获取队列大小的主要内容,如果未能解决你的问题,请参考以下文章

Spring 4 websocket + stomp + rabbitmq 和集群

使用 spring4 stomp 和 socksjs 应用程序配置 rabbitmq

Telnet 到刚刚挂起的 RabbitMQ Stomp 适配器

用于Rabbitmq Stomp的java websocket客户端

使用 Rabbitmq STOMP websocket 获取队列大小

RabbitMQ Stomp over websocket:无法检索排队的消息