SyncQueueReceiver.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:2k
源码类别:

Java编程

开发平台:

Java

  1. package bible.jms;
  2. import javax.jms.*;
  3. import javax.naming.*;
  4. import java.util.*;
  5. /**
  6.  * Class SyncQueueReceiver
  7.  *
  8.  *
  9.  * @author
  10.  * @version %I%, %G%
  11.  */
  12. public class SyncQueueReceiver {
  13.   /**
  14.    * Method main
  15.    *
  16.    *
  17.    * @param args
  18.    *
  19.    */
  20.   public static void main(String[] args) {
  21.     Context                ctx                = null;
  22.     Hashtable              ht                 = new Hashtable();
  23.     QueueConnectionFactory qConnectionFactory = null;
  24.     QueueConnection        qConnection        = null;
  25.     QueueSession           qSession           = null;
  26.     QueueReceiver          qReceiver          = null;
  27.     Queue                  q                  = null;
  28.     TextMessage            textMsg            = null;
  29.     String                 msg;
  30.     try {
  31.       // Obtain references to JMS queue components.
  32.       ht.put(Context.INITIAL_CONTEXT_FACTORY,
  33.              "weblogic.jndi.WLInitialContextFactory");
  34.       ht.put(Context.PROVIDER_URL, "t3://localhost:7001");
  35.       ctx                = new InitialContext(ht);
  36.       qConnectionFactory =
  37.         (QueueConnectionFactory) ctx.lookup("BibleJMSFactory");
  38.       qConnection        = qConnectionFactory.createQueueConnection();
  39.       qSession           = qConnection.createQueueSession(false,
  40.         javax.jms.QueueSession.AUTO_ACKNOWLEDGE);
  41.       q                  = (Queue) ctx.lookup("BibleJMSQueue");
  42.       qReceiver          = qSession.createReceiver(q);
  43.       // Start a connection to the queue, retrieve all
  44.       // messages in the queue, then stop the connection.
  45.       System.out.println("nReceiving messages...");
  46.       qConnection.start();
  47.       textMsg = (TextMessage) qReceiver.receiveNoWait();
  48.       while (textMsg != null) {
  49.         System.out.println("  Receiving message: " + textMsg.getText());
  50.         textMsg = (TextMessage) qReceiver.receiveNoWait();
  51.       }
  52.       qConnection.stop();
  53.     } catch (Exception e) {
  54.       e.printStackTrace();
  55.     } finally {
  56.       try {
  57.         // Release JMS resources.
  58.         qReceiver.close();
  59.         qSession.close();
  60.         qConnection.close();
  61.       } catch (Exception e) {
  62.         e.printStackTrace();
  63.       }
  64.     }
  65.   }
  66. }
  67. /*--- Formatted in Bible Style on Thu, Sep 6, '01 ---*/
  68. /*------ Formatted by Jindent 3.24 Gold 1.02 --- http://www.jindent.de ------*/