zoukankan      html  css  js  c++  java
  • 利用stomp.js实现websocket功能,接收ActiveMQ消息队列

    一、ActiveMQ消息发送端

    package lixj;
    
    import java.util.Date;
    
    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.DeliveryMode;
    import javax.jms.Destination;
    import javax.jms.MessageProducer;
    import javax.jms.Session;
    
    import org.apache.activemq.ActiveMQConnectionFactory;
    
    public class MQProducer {
    
        private static final String USERNAME = "user"; //用户名 
        private static final String PASSWORD = "321";  //密码 
        private static final String BROKENURL = "tcp://192.168.204.31:61616";  
        private static final String Q_NAME = "MessageQueue";  //消息队列
        
        public static void main(String[] args) {
                ConnectionFactory connectionFactory;
                Connection connection;
                Session session;
                Destination destination;
                MessageProducer producer;
                connectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKENURL);
                try {
                    connection = connectionFactory.createConnection();
                    connection.start();
                    session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
                    destination = session.createQueue(Q_NAME);
                    producer = session.createProducer(destination);
                    producer.setDeliveryMode(DeliveryMode.PERSISTENT);
                    for(int i=0;i<1;i++){
                        //发送消息
                        producer.send(session.createTextMessage("【"+i+"】MQTT测试你有一份收文《测试标题》需要及时处理!+"+new Date()));
                    }
                    producer.close(); 
                    System.out.println("消息发送完毕");
                } catch (Exception e) {
                    e.printStackTrace();
                }
        }
    }

    二、web 页面消息接收代码

        <script type="text/javascript" src="/js/stomp.js"></script>
        <script type="text/javascript">
        var url = "ws://192.168.204.31:61614/stomp"; 
        var destination = "MessageQueue";
        var client = Stomp.client(url);
        
        var callbackMSG = function(message) {
            if (message.body) {
                alert("got message with body " + message.body)
            } else {
                alert("got empty message");
            }
        };
        
        var connect_callback = function(frame) {
          client.subscribe(destination, callbackMSG);
        };
    
        var error_callback = function(error) {
            alert(error.headers.message);
        };
        var headers = {
            login: 'user',
            passcode: '321',
            // additional header
            'client-id': 'my-client-id'
        };
        client.connect(headers, connect_callback, error_callback);
       </script>
  • 相关阅读:
    原来 是 需要的,
    传说中的 拉伸,
    date + 排序,
    两个 header,
    招财铃,负责模块,
    一个字母,
    一个词,
    vue+webpack静态资源路径引用
    Webstorm 的 Tab 键调整缩进值
    ES6常用语法
  • 原文地址:https://www.cnblogs.com/101key/p/9081601.html
Copyright © 2011-2022 走看看