使用wesocket从 rabbitMQ获取实时数据

rabbitmq支持stomp组件,通过stomp组件和websocket可以从rabbitMQ获取实时数据。这里分享一个demo;

使用时需要引入的js ,用到了sock.js和stomp.js

 <head>
        <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
        <script src="https://cdn.bootcss.com/sockjs-client/1.1.4/sockjs.min.js"></script>
        <script src="https://cdn.bootcss.com/stomp.js/2.3.3/stomp.min.js"></script>
    </head>

核心接入方法

      /**
        * 获取实时数据
        * @type {WebSocket}
        */

function connect(){
var ws = new WebSocket('ws://127.0.0.1:15674/ws'); var client = Stomp.over(ws); getStompInfo(ip,exchange,client) } /** * websocket 连接成功获取数据,对数据分析 */ function getStompInfo(ip,exchange,client) { // 定义连接成功回调函数 var on_connect = function (x) { //data.body是接收到的数据 client.subscribe("/exchange/"+exchange, function (r) { var value = r.body; alert(value); }); return }; // 定义错误时回调函数 var on_error = function (error) { alert("连接失败,请检查IP地址和交换机是否正确") return }; // 连接RabbitMQ   client.connect('username', 'password', on_connect, on_error,'/'); }

数据接入成功

 

posted @ 2021-09-27 10:06  宁静致远·TangJ  阅读(489)  评论(0编辑  收藏  举报