• 【ActiveMQ】消息中间件activeMq搭建二


    Producer.java-------------------------------------------------

    package cn.temptation.test;

    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.Destination;
    import javax.jms.JMSException;
    import javax.jms.MessageProducer;
    import javax.jms.Session;
    import javax.jms.TextMessage;

    import org.apache.activemq.ActiveMQConnectionFactory;

    public class Producer {
    private ConnectionFactory connectionFactory;
    private Connection connection;
    private Session session;
    private MessageProducer producer;

    public Producer() {
    try {
    connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,
    ActiveMQConnectionFactory.DEFAULT_PASSWORD, "tcp://loaclhost:61616");
    connection = connectionFactory.createConnection();
    connection.start();
    session = connection.createSession(Boolean.FALSE, session.AUTO_ACKNOWLEDGE);
    producer = session.createProducer(null);
    } catch (JMSException e) {
    e.printStackTrace();
    }

    }

    public void sendMessage() throws Exception {
    Destination destination = session.createTopic("topic1");
    TextMessage msg = session.createTextMessage("我是内容");
    producer.send(destination, msg);
    }

    public static void main(String[] args) throws Exception {
    Producer p = new Producer();
    p.sendMessage();

    }

    }

    Consumer.java-------------------------------------------------------------------------------------------

    package cn.temptation.test;

    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.Destination;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageListener;
    import javax.jms.MessageProducer;
    import javax.jms.Session;
    import javax.jms.TextMessage;

    import org.apache.activemq.ActiveMQConnectionFactory;

    public class Consumer {
    private ConnectionFactory connectionFactory;
    private Connection connection;
    private Session session;
    private MessageConsumer consumer;

    public Consumer() {
    try {
    connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,
    ActiveMQConnectionFactory.DEFAULT_PASSWORD, "tcp://loaclhost:61616");
    connection = connectionFactory.createConnection();
    connection.start();
    session = connection.createSession(Boolean.FALSE, session.AUTO_ACKNOWLEDGE);
    consumer = session.createConsumer(null);
    } catch (JMSException e) {
    e.printStackTrace();
    }
    }

    public void receive() throws Exception {
    Destination destination = session.createTopic("topic1");
    consumer = session.createConsumer(destination);
    consumer.setMessageListener(new Listener());
    }

    class Listener implements MessageListener {
    @Override
    public void onMessage(Message message) {
    try {
    if (message instanceof TextMessage) {
    System.out.println("消费者收到------------------");
    TextMessage msg = (TextMessage) message;
    System.out.println(msg.getText());
    }
    } catch (JMSException e) {
    e.printStackTrace();
    }
    }
    }

    public static void main(String[] args) throws Exception {
    Consumer c = new Consumer();
    c.receive();
    }

    }

  • 相关阅读:
    修改代码的艺术阅读笔记-01
    周总结
    代码整洁之道阅读笔记-03
    周总结
    mybatis三种执行器性能比较
    Tomcat长连接是如何实现的
    Zookeeper在Windows下搭建集群教程
    Zookeeper单机模式下RequestProcessor流程与源码理解
    JDK NIO基础概念与原理
    zookeeper客户端访问服务端时,基于NIO的线程池绑定
  • 原文地址:https://www.cnblogs.com/gang130532/p/8412856.html
Copyright © 2020-2023  润新知