jms测试代码

来源:互联网 发布:淘宝毛绒玩具熊 编辑:程序博客网 时间:2024/06/07 02:09

package com.david;

/****
 *<p>Created Date:2007-4-19</p>
 *
 *<p>Descrition:</p>
 *
 *<p>author:David Wang</p>
 *
 *<p>version:1.0 </p>
 *
 */

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.Connection;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.ExceptionListener;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;

/**
 * Hello world!
 */
public class App {

 public static void main(String[] args) throws Exception {
  // thread(new HelloWorldProducer(), false);
  //thread(new HelloWorldProducer(), false);
  thread(new HelloWorldConsumer(), false);
  // Thread.sleep(1000);
  // thread(new HelloWorldConsumer(), false);
  // thread(new HelloWorldProducer(), false);
  // thread(new HelloWorldConsumer(), false);
  // thread(new HelloWorldProducer(), false);
  // Thread.sleep(1000);
  // thread(new HelloWorldConsumer(), false);
  // thread(new HelloWorldProducer(), false);
  // thread(new HelloWorldConsumer(), false);
  // thread(new HelloWorldConsumer(), false);
  // thread(new HelloWorldProducer(), false);
  // thread(new HelloWorldProducer(), false);
  // Thread.sleep(1000);
  // thread(new HelloWorldProducer(), false);
  // thread(new HelloWorldConsumer(), false);
  // thread(new HelloWorldConsumer(), false);
  // thread(new HelloWorldProducer(), false);
  // thread(new HelloWorldConsumer(), false);
  // thread(new HelloWorldProducer(), false);
  // thread(new HelloWorldConsumer(), false);
  // thread(new HelloWorldProducer(), false);
  // thread(new HelloWorldConsumer(), false);
  // thread(new HelloWorldConsumer(), false);
  // thread(new HelloWorldProducer(), false);
 }

 public static void thread(Runnable runnable, boolean daemon) {
  Thread brokerThread = new Thread(runnable);
  brokerThread.setDaemon(daemon);
  brokerThread.start();
 }

 public static class HelloWorldProducer implements Runnable {
  public void run() {
   try {
    // Create a ConnectionFactory
    ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
      "tcp://192.168.1.164: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("adFile");

    // 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("2");

    // 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 HelloWorldConsumer implements Runnable,
   ExceptionListener {
  public void run() {
   try {

    // Create a ConnectionFactory
    ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
      "tcp://192.168.1.10: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("adFileDelete");

    // Destination destination = session.createQueue("ruleEngin");

    // 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.");
  }
 }
}
 

原创粉丝点击