zoukankan      html  css  js  c++  java
  • 3.activeMQ消息消费者

    • 第一种
      •   创建消费者类
      • import javax.jms.Connection;
        import javax.jms.ConnectionFactory;
        import javax.jms.Destination;
        import javax.jms.JMSException;
        import javax.jms.MessageConsumer;
        import javax.jms.Session;
        import javax.jms.TextMessage;
        
        import org.apache.activemq.ActiveMQConnection;
        import org.apache.activemq.ActiveMQConnectionFactory;
        /*
         * 消息消费
         */
        public class JMSConsumer {
            static String userName=ActiveMQConnection.DEFAULT_USER;
            static String password=ActiveMQConnection.DEFAULT_PASSWORD;
            static String brokerURL=ActiveMQConnection.DEFAULT_BROKER_URL;
            public static void main(String[] args) {
                ConnectionFactory connectionFactory=new ActiveMQConnectionFactory(userName, password, brokerURL);
                Connection connection = null ;
                Session session;// 会话,接受或发送消息的线程
                Destination destination;
                MessageConsumer messageConsumer;
                try {
                    connection=connectionFactory.createConnection();
                    connection.start();
                    session=connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                    destination=session.createQueue("FirstQueue");//创建连接的消息队列
                    messageConsumer=session.createConsumer(destination);
                    while(true){
                        TextMessage textMessage=(TextMessage) messageConsumer.receive(100000);//100000是100毫秒
                        if(textMessage!=null){
                            System.out.println(textMessage);
                            
                        }
                        else{
                            break;
                        }
                    }
                } catch (JMSException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            }
        
        }

        运行后显示

    •  第二种
    • 使用监听
    • import javax.jms.Connection;
      import javax.jms.ConnectionFactory;
      import javax.jms.Destination;
      import javax.jms.JMSException;
      import javax.jms.MessageConsumer;
      import javax.jms.Session;
      
      import org.apache.activemq.ActiveMQConnection;
      import org.apache.activemq.ActiveMQConnectionFactory;
      /*
       * 消息消费
       */
      public class JMSConsumer2 {
          static String userName=ActiveMQConnection.DEFAULT_USER;
          static String password=ActiveMQConnection.DEFAULT_PASSWORD;
          static String brokerURL=ActiveMQConnection.DEFAULT_BROKER_URL;
          public static void main(String[] args) {
              ConnectionFactory connectionFactory=new ActiveMQConnectionFactory(userName, password, brokerURL);
              Connection connection = null ;
              Session session;// 会话,接受或发送消息的线程
              Destination destination;
              MessageConsumer messageConsumer;
              try {
                  connection=connectionFactory.createConnection();
                  connection.start();
                  session=connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                  destination=session.createQueue("FirstQueue1");//创建连接的消息队列
                  messageConsumer=session.createConsumer(destination);
                  messageConsumer.setMessageListener(new Listener());//注册消息监听
              } catch (JMSException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
              while(true){
                  
              }
          }
      
      }

    • ps:后来好奇把while注释掉又跑了一下,又可以了,神奇啊神奇
    • 参考

      •   http://blog.csdn.net/littlechenlin/article/details/46659287
      •   http://blog.csdn.net/wscxyok/article/details/49299797
  • 相关阅读:
    iOS使用第三方管理工具
    Mysql忘记密码怎么办
    支付宝支付流程
    关于iOS9 HTTP不能正常使用的解决方法
    ios项目开发汇总
    sqlite3
    Drupal 7.31版本爆严重SQL注入漏洞
    Google发布SSLv3漏洞简要分析报告
    Linux“Bash”漏洞大爆发
    Discuz 5.x/6.x/7.x投票SQL注入分析
  • 原文地址:https://www.cnblogs.com/chen20135517/p/7761224.html
Copyright © 2011-2022 走看看