• 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.");
            }
        }
    }
  • 相关阅读:
    简单的mvc之一:简单的开始
    从子类化到工厂模式
    js漫谈
    asp.net mvc框架的一些切入点
    js框架漫谈
    基于公司云平台的即时聊天工具PTALK
    基于公司云平台的素材归档系统(一)
    搜索输入框下拉列表热词搜索的实现
    HTML5 localStorage 的使用
    MVC模式下xml文件的解析
  • 原文地址:https://www.cnblogs.com/allenwas3/p/8509099.html
Copyright © 2020-2023  润新知