zoukankan      html  css  js  c++  java
  • 分布式-信息方式-JMS Queue示例

    代码

    package test.mq.helloword;
    
     
    
    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.Destination;
    import javax.jms.JMSException;
    import javax.jms.MapMessage;
    import javax.jms.MessageProducer;
    import javax.jms.Session;
     
    
    import org.apache.activemq.ActiveMQConnectionFactory;
    
    public class Sender {
           public static void main(String[] args) throws JMSException, InterruptedException {
            ConnectionFactory   ConnectionFactory=new ActiveMQConnectionFactory(
                    "tcp://localhost:61616"
                    );
            Connection connection=ConnectionFactory.createConnection();
            connection.start();
        
            Session session=connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
            Destination destination=session.createQueue("my_queue");
            MessageProducer Producer=session.createProducer(destination);
         
            for(int i=0;i<3;i++){
    //            TextMessage message=session.createTextMessage("message----"+i);
    //            //Thread.sleep(1000);  
    //            Producer.send(message);
                 MapMessage Message=session.createMapMessage();
                 Message.setStringProperty("extra"+i, "okok");
                 Message.setString("message"+i, "my map---->"+i);
                 Producer.send(Message);
            }
             session.commit();
             session.close();
             connection.close();    
        }
    }
    package test.mq.helloword;
    
    import java.util.Enumeration;
    
    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.DeliveryMode;
    import javax.jms.Destination;
    import javax.jms.JMSException;
    import javax.jms.MapMessage;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageProducer;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    
    import org.apache.activemq.ActiveMQConnectionFactory;
    import org.apache.activemq.broker.ConsumerBrokerExchange;
    
    public class Receiver {
        
        public static void main(String[] args) throws JMSException {
            ConnectionFactory   ConnectionFactory=new ActiveMQConnectionFactory(
                    "tcp://localhost:61616"
                    );
            Connection connection=ConnectionFactory.createConnection();
            connection.start();
            Enumeration names=connection.getMetaData().getJMSXPropertyNames();
            while(names.hasMoreElements()){
                String name=(String) names.nextElement();
                System.out.println("jmsx name==="+name);
            }
            Session session=connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); 
            Destination destination=session.createQueue("my_queue");
            MessageConsumer Consumer=session.createConsumer(destination);
            int i=0;
            while(i<3){
                
                 MapMessage msg=(MapMessage) Consumer.receive();
                 session.commit();
                 System.out.println("接收信息:"+msg.getString("message"+i)+",property=="+msg.getStringProperty("extra"+i));
                 i++;
             }
             
            session.close();
            connection.close();
        
        }
    }
  • 相关阅读:
    算法题解:旋转数组的最小数字
    算法题解:连续子数组的最大和及其下标
    算法题解:快速排序算法(维基百科版)
    c++入门之类——进一步剖析
    c++入门之运算符重载
    c++入门之浅入浅出类——分享给很多想形象理解的人
    c++入门之再话内存和引用
    c++入门之引用
    c++入门之内置数组和array比较
    c++入门之结构体初步
  • 原文地址:https://www.cnblogs.com/caoyingjielxq/p/9334319.html
Copyright © 2011-2022 走看看