Jason-Jessica

          Java

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            5 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

          2012年2月11日 #

           1 import javax.jms.Connection;
           2 import javax.jms.ConnectionFactory;
           3 import javax.jms.Destination;
           4 import javax.jms.MessageConsumer;
           5 import javax.jms.Session;
           6 import javax.jms.TextMessage;
           7 
           8 import org.apache.activemq.ActiveMQConnection;
           9 import org.apache.activemq.ActiveMQConnectionFactory;
          10 
          11 public class QueueReceive{
          12  public static void main(String[] args) {
          13 
          14   // ConnectionFactory :連接工廠,JMS 用它創建連接
          15   ConnectionFactory connectionFactory;
          16   // Connection :JMS 客戶端到JMS Provider 的連接
          17   Connection connection = null;
          18   // Session: 一個發送或接收消息的線程
          19   Session session;
          20   // Destination :消息的目的地;消息發送給誰.
          21   Destination destination;
          22   // 消費者,消息接收者
          23   MessageConsumer consumer;
          24 
          25   connectionFactory = new ActiveMQConnectionFactory(
          26     ActiveMQConnection.DEFAULT_USER,
          27     ActiveMQConnection.DEFAULT_PASSWORD,
          28     "tcp://localhost:61616");
          29   try {
          30    // 構造從工廠得到連接對象
          31    connection = connectionFactory.createConnection();
          32    // 啟動
          33    connection.start();
          34    // 獲取操作連接
          35    session = connection.createSession(Boolean.FALSE,
          36      Session.AUTO_ACKNOWLEDGE);
          37    // 獲取session注意參數是一個服務器的queue,須在在ActiveMq的console配置
          38    destination = session.createQueue("queue1");
          39    consumer = session.createConsumer(destination);
          40    while (true) {
          41     TextMessage message = (TextMessage) consumer.receive(1000);
          42     if (null != message) {
          43      System.out.println("收到消息" + message.getText());
          44 
          45     } else {
          46      break;
          47     }
          48 
          49    }
          50 
          51   } catch (Exception e) {
          52    e.printStackTrace();
          53   } finally {
          54    try {
          55     if (null != connection)
          56      connection.close();
          57    } catch (Throwable ignore) {
          58    }
          59   }
          60 
          61  }
          62 
           1 import javax.jms.Connection;
           2 import javax.jms.ConnectionFactory;
           3 import javax.jms.DeliveryMode;
           4 import javax.jms.Destination;
           5 import javax.jms.MessageProducer;
           6 import javax.jms.Session;
           7 import javax.jms.TextMessage;
           8 
           9 import org.apache.activemq.ActiveMQConnection;
          10 import org.apache.activemq.ActiveMQConnectionFactory;
          11 
          12 public class QueueSend {
          13  private static final int SEND_NUMBER = 5;
          14 
          15  public static void main(String[] args) {
          16   // ConnectionFactory :連接工廠,JMS 用它創建連接
          17   ConnectionFactory connectionFactory;
          18   // Connection :JMS 客戶端到JMS Provider 的連接
          19   Connection connection = null;
          20   // Session: 一個發送或接收消息的線程
          21   Session session;
          22   // Destination :消息的目的地;消息發送給誰.
          23   Destination destination;
          24   // MessageProducer:消息發送者
          25   MessageProducer producer;
          26   // TextMessage message;
          27   // 構造ConnectionFactory實例對象,此處采用ActiveMq的實現jar
          28 
          29   connectionFactory = new ActiveMQConnectionFactory(
          30     ActiveMQConnection.DEFAULT_USER,
          31     ActiveMQConnection.DEFAULT_PASSWORD,
          32     "tcp://localhost:61616");
          33 
          34   try {
          35    // 構造從工廠得到連接對象
          36    connection = connectionFactory.createConnection();
          37    // 啟動
          38    connection.start();
          39    // 獲取操作連接
          40    session = connection.createSession(Boolean.TRUE,
          41      Session.AUTO_ACKNOWLEDGE);
          42    // queue1需要在admin界面創建
          43    destination = session.createQueue("queue1");
          44    // 得到消息生成者
          45 
          46    producer = session.createProducer(destination);
          47    // 設置不持久化,此處學習,實際根據項目決定
          48    producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
          49    // 構造消息,此處寫死,項目就是參數,或者方法獲取
          50    sendMessage(session, producer);
          51    session.commit();
          52 
          53   } catch (Exception e) {
          54    e.printStackTrace();
          55   } finally {
          56    try {
          57     if (null != connection)
          58      connection.close();
          59    } catch (Throwable ignore) {
          60    }
          61   }
          62 
          63  }
          64 
          65  public static void sendMessage(Session session, MessageProducer producer)
          66    throws Exception {
          67   for (int i = 1; i <=SEND_NUMBER; i++) {
          68    TextMessage message = session
          69      .createTextMessage("ActiveMq 發送的消息" + i);
          70    // 發送消息到目的地方
          71    System.out.println("發送消息:" + i+"成功");
          72    producer.send(message);
          73   }
          74  }
          75 }
          }
          posted @ 2012-02-11 14:34 JasonLee 閱讀(253) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 平塘县| 和平县| 舞钢市| 商南县| 阳江市| 藁城市| 兴宁市| 天祝| 楚雄市| 西藏| 河间市| 阿鲁科尔沁旗| 无棣县| 江津市| 若尔盖县| 江油市| 玉林市| 社旗县| 樟树市| 衡东县| 鄂伦春自治旗| 宁波市| 体育| 铜鼓县| 隆尧县| 恩平市| 武平县| 洮南市| 阿拉尔市| 石渠县| 姜堰市| 习水县| 徐州市| 陇西县| 宁国市| 南阳市| 融水| 宁晋县| 安徽省| 虞城县| 沙坪坝区|