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();
        
        }
    }
  • 相关阅读:
    .java中如何实现序列化,有什么意义
    缓存穿透
    缓存击穿
    缓存雪崩
    redis缓存预热
    Docket 的常用命令
    数据库优化方法
    servlet和jsp的区别:
    6原则1法则
    学习IntelliJ IDEA(二)模块
  • 原文地址:https://www.cnblogs.com/caoyingjielxq/p/9334319.html
Copyright © 2011-2022 走看看