• activeMQ点对点


    摘要: ActiveMQ 点对点消息 Point-to-Point 是一对一

    创建消息生产者

    /**
     * 点对点消息生产者
     * 
     * @author Edward
     * 
     */
    public class P2pProducer {
    
    	public static void main(String[] args) {
    		ConnectionFactory connectionFactory = null;
    		Connection conn = null;
    		Session session = null;
    		Queue queue = null;
    		MessageProducer messageProducer = null;
    		try {
    			// 创建工厂
    			// ActiveMQConnection.DEFAULT_USER 默认null
    			// ActiveMQConnection.DEFAULT_PASSWORD 默认null
    			// ActiveMQConnection.DEFAULT_BROKER_URL
    			// 默认failover://tcp://localhost:61616
    			connectionFactory = new ActiveMQConnectionFactory(
    					ActiveMQConnection.DEFAULT_USER,
    					ActiveMQConnection.DEFAULT_PASSWORD,
    					ActiveMQConnection.DEFAULT_BROKER_URL);
    			// 创建连接
    			conn = connectionFactory.createConnection();
    			// 启动连接
    			conn.start();
    			// 创建会话 createSession(true, Session.AUTO_ACKNOWLEDGE); true 表示开启事务
    			// Session.AUTO_ACKNOWLEDGE 消息模式
    			session = conn.createSession(true, Session.AUTO_ACKNOWLEDGE);
    			// 创建队列
    			queue = session.createQueue("P2pQueue");
    			// 创建消息生产者
    			messageProducer = session.createProducer(queue);
    			// 创建消息
    			TextMessage message = session.createTextMessage();
    			message.setText("我是P2pProducer生产的消息");
    			// 发送消息
    			messageProducer.send(message);
    			// 提交事务
    			session.commit();
    			System.out.println("OK");
    		} catch (JMSException e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				session.close();
    				conn.close();
    			} catch (JMSException e) {
    				e.printStackTrace();
    			}
    		}
    
    	}
    
    }

    运行成功,查看控制台:

    创建消息消费者

    /**
     * 点对点消息消费者
     * 
     * @author Edward
     * 
     */
    public class P2pConsumer {
    
    	public static void main(String[] args) {
    		ConnectionFactory connectionFactory = null;
    		Connection conn = null;
    		Session session = null;
    		Queue queue = null;
    		MessageConsumer messageConsumer = null;
    		try {
    			// 创建工厂
    			// ActiveMQConnection.DEFAULT_USER 默认null
    			// ActiveMQConnection.DEFAULT_PASSWORD 默认null
    			// ActiveMQConnection.DEFAULT_BROKER_URL
    			// 默认failover://tcp://localhost:61616
    			connectionFactory = new ActiveMQConnectionFactory(
    					ActiveMQConnection.DEFAULT_USER,
    					ActiveMQConnection.DEFAULT_PASSWORD,
    					ActiveMQConnection.DEFAULT_BROKER_URL);
    			// 创建连接
    			conn = connectionFactory.createConnection();
    			// 启动连接
    			conn.start();
    			// 创建会话 createSession(true, Session.AUTO_ACKNOWLEDGE); false 表示不开启事务
    			// Session.AUTO_ACKNOWLEDGE 消息模式
    			session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
    			// 创建队列
    			queue = session.createQueue("P2pQueue");
    			// 创建消息消费者
    			messageConsumer = session.createConsumer(queue);
    			// 注册消费消息监听
    			messageConsumer.setMessageListener(new MessageListener() {
    
    				@Override
    				public void onMessage(Message message) {
    					try {
    						System.out.println("我收到的消息:"
    								+ ((TextMessage) message).getText());
    					} catch (JMSException e) {
    						e.printStackTrace();
    					}
    				}
    			});
    		} catch (JMSException e) {
    			e.printStackTrace();
    		}
    	}
    }

    执行结果

    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    我收到的消息:我是P2pProducer生产的消息
  • 相关阅读:
    BZOJ4889: [TJOI2017]不勤劳的图书管理员
    BZOJ3932: [CQOI2015]任务查询系统
    BZOJ1926: [Sdoi2010]粟粟的书架
    POJ 3281 Dining(网络流-拆点)
    POJ 1273 Drainage Ditches(网络流-最大流)
    POJ 1325 Machine schedine (二分图-最小点覆盖数=最大匹配边数)
    HDU 1281 棋盘游戏
    HDU2255 奔小康赚小钱钱(二分图-最大带权匹配)
    HDU 2444 The Accomodation of Students (二分图存在的判定以及最大匹配数)
    POJ 3660 cow contest (Folyed 求传递闭包)
  • 原文地址:https://www.cnblogs.com/libin6505/p/7792834.html
Copyright © 2020-2023  润新知