• 利用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>
  • 相关阅读:
    方便学习的小idea---技术文章搜索--提高搜索的效率,准确性,有用性
    学习技术的思考
    python学习记录
    大数据的5个大
    业务系统与门户集成
    项目的集成
    记录说的好的话语
    Java过滤器引发的异常:Resource interpreted as Stylesheet but transferred with MIME type text/html
    11g创建表空间和用户(不区分大小写)与导入导出命令
    3. mysql中常用的字符与时间函数
  • 原文地址:https://www.cnblogs.com/101key/p/9081601.html
Copyright © 2020-2023  润新知