zoukankan      html  css  js  c++  java
  • ActiveMQ使用例子

    网上收集的例子:有broker,producer,consumer

    public class MqApp {
        public static void main(String[] args) throws Exception {
            // 启动broker
            BrokerService broker = new BrokerService();
            // configure the broker
            broker.addConnector("tcp://localhost:61616");
            broker.start();
            
            // 创建producer和consumer
            makeThread(new HelloProducer(), false);
            makeThread(new HelloConsumer(), false);
            
    //        LockSupport.park();
        }
     
        public static void makeThread(Runnable runnable, boolean daemon) {
            Thread t = new Thread(runnable);
            t.setDaemon(daemon);
            t.start();
        }
     
        public static class HelloProducer implements Runnable {
            public void run() {
                try {
                    // Create a ConnectionFactory
                    ActiveMQConnectionFactory connectionFactory =
    //                        new ActiveMQConnectionFactory("vm://localhost");
                            new ActiveMQConnectionFactory("tcp://localhost:61616");
     
                    // Create a Connection
                    Connection connection = connectionFactory.createConnection();
                    connection.start();
     
                    // Create a Session
                    Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
     
                    // Create the destination (Topic or Queue)
                    Destination destination = session.createQueue("TEST.FOO");
     
                    // Create a MessageProducer from the Session to the Topic or Queue
                    MessageProducer producer = session.createProducer(destination);
                    producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
     
                    // Create a messages
                    String text = "Hello world! From: " + Thread.currentThread().getName() + ", " + this.hashCode();
                    TextMessage message = session.createTextMessage(text);
     
                    // Tell the producer to send the message
                    System.out.println("Sent message: "+ message.hashCode() + ", " + Thread.currentThread().getName());
                    producer.send(message);
     
                    // Clean up
                    session.close();
                    connection.close();
                }
                catch (Exception e) {
                    System.out.println("Caught: " + e);
                    e.printStackTrace();
                }
            }
        }
     
        public static class HelloConsumer implements Runnable, ExceptionListener {
            public void run() {
                try {
                    // Create a ConnectionFactory
                    ActiveMQConnectionFactory connectionFactory =
    //                        new ActiveMQConnectionFactory("vm://localhost");
                            new ActiveMQConnectionFactory("tcp://localhost:61616");
     
                    // Create a Connection
                    Connection connection = connectionFactory.createConnection();
                    connection.start();
     
                    connection.setExceptionListener(this);
     
                    // Create a Session
                    Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
     
                    // Create the destination (Topic or Queue)
                    Destination destination = session.createQueue("TEST.FOO");
     
                    // Create a MessageConsumer from the Session to the Topic or Queue
                    MessageConsumer consumer = session.createConsumer(destination);
     
                    // Wait for a message
                    Message message = consumer.receive(1000);
     
                    if (message instanceof TextMessage) {
                        TextMessage textMessage = (TextMessage) message;
                        String text = textMessage.getText();
                        System.out.println("Received: " + text);
                    } else {
                        System.out.println("Received: " + message);
                    }
     
                    consumer.close();
                    session.close();
                    connection.close();
                } catch (Exception e) {
                    System.out.println("Caught: " + e);
                    e.printStackTrace();
                }
            }
     
            public synchronized void onException(JMSException ex) {
                System.out.println("JMS Exception occured.  Shutting down client.");
            }
        }
    }
  • 相关阅读:
    面向对象
    反射的基本介绍
    简单的总结
    生成器和迭代器
    shutil
    模块
    利用reguests 请求获取列车时刻表
    初识requests
    hashlib:用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
    【网站】一些有用的网站
  • 原文地址:https://www.cnblogs.com/allenwas3/p/8509099.html
Copyright © 2011-2022 走看看