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 閱讀(252) | 評論 (0)編輯 收藏

          2011年11月8日 #

          通信方式:
          --------------------------------------
          請求/應答(同步,異步,TxRPC)
          管道通信(嵌套,轉發)
          會話通信
          事件代理(發布/訂閱)
          消息通告(廣播/通告)
          隊列機制(可靠隊列傳輸/存儲轉發)
          --------------------------------------
          多種通信緩沖區:
          -------------------------------------------------------
          CARRAY、STRING、VIEW/VIEW32、FML/FML32、XML
          -------------------------------------------------------
          posted @ 2011-11-08 16:26 JasonLee 閱讀(342) | 評論 (0)編輯 收藏

          2011年11月2日 #

              只有注冊用戶登錄后才能閱讀該文。閱讀全文
          posted @ 2011-11-02 14:57 JasonLee 閱讀(104) | 評論 (0)編輯 收藏

               摘要: 問題的產生:軟件公司組織內部培訓,有時投影儀(資源)緊缺,培訓時沒有投影儀,在這種情況下每個人只能打開自己的電腦,邊聽邊翻演講者提供的PPT或者相關資料。這樣可能會導致聽眾不能及時跟上演講者的思路,以致培訓失敗。需求:將投影儀電子化,大家的屏幕顯示與演講者一致。屏幕數20個左右。設計:開發語言:java        ...  閱讀全文
          posted @ 2011-11-02 14:19 JasonLee 閱讀(229) | 評論 (0)編輯 收藏

          2011年11月1日 #

          Jason's Blog
          posted @ 2011-11-01 21:42 JasonLee 閱讀(112) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 夏津县| 武安市| 沛县| 衡南县| 革吉县| 上饶市| 茂名市| 韶山市| 竹山县| 东辽县| 桦川县| 大英县| 海兴县| 犍为县| 博湖县| 铁力市| 宁都县| 仁怀市| 安泽县| 镇沅| 建德市| 岢岚县| 宝丰县| 泗洪县| 安庆市| 博野县| 四子王旗| 宁强县| 靖边县| 广水市| 望城县| 天津市| 蓬莱市| 辛集市| 陇南市| 淅川县| 井陉县| 邵东县| 墨玉县| 石狮市| 五峰|