架构理念:[简单][高效][可依赖] 管理理念:[价值][勇气][专注]

ActiveMQ StartUp

从http://activemq.apache.org/activemq-5132-release.html 下载

解压

从apache-activemq-5.13.2\bin\win64\wrapper.exe 启动

从http://localhost:8161/admin 登录

测试代码:

Sender:

public class Sender {

    private ConnectionFactory factory = null;
    private Connection connection = null;
    private Session session = null;
    private Destination destination = null;
    private MessageProducer producer = null;

    public Sender() { };

    public void sendMessage() {
        try {
            factory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_BROKER_URL);
            connection = factory.createConnection();
            connection.start();
            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
            destination = session.createQueue("SAMPLEQUEUE");
            producer = session.createProducer(destination);
            TextMessage message = session.createTextMessage();
            message.setText("Hello ...This is a sample message..sending from Sender");
            producer.send(message);
            System.out.println("Sent: " + message.getText());

        } catch (JMSException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        Sender sender = new Sender();
        sender.sendMessage();
    }

}

producer

public class Receiver {
    private ConnectionFactory factory = null;
    private Connection connection = null;
    private Session session = null;
    private Destination destination = null;
    private MessageConsumer consumer = null;

    public Receiver() {}

    public void receiveMessage() {
        try {
            factory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_BROKER_URL);
            connection = factory.createConnection();
            connection.start();
            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
            destination = session.createQueue("SAMPLEQUEUE");
            consumer = session.createConsumer(destination);
            //Message message = consumer.receive();//采用这种方式,消息的接收者会一直等待下去,直到有消息到达,或者超时
            //注册一个监听器,当有消息到达的时候,回调它的onMessage()方法
            consumer.setMessageListener(new MessageListener(){  
                       @Override  
                       public void onMessage(Message message) {  
                           //消息消费者接收到这个消息之后,就可以得到它的内容:
                           if (message instanceof TextMessage) {
                               TextMessage text = (TextMessage) message;
                               try {
                                System.out.println("Message is : " + text.getText());
                            } catch (JMSException e) {
                                e.printStackTrace();
                            }
                           }
                       }  
                   });  
            
        } catch (JMSException e) {
                      e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        Receiver receiver = new Receiver();
        receiver.receiveMessage();
    }
}

 

posted @ 2016-04-28 20:16  文和-Mignet  阅读(210)  评论(0编辑  收藏  举报