SyncTopicSubscriber.java
资源名称:某公司的java培训教材 [点击查看]
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:2k
源码类别:
Java编程
开发平台:
Java
- package bible.jms;
- import javax.jms.*;
- import javax.naming.*;
- import java.util.*;
- /**
- * Class SyncTopicSubscriber
- *
- *
- * @author
- * @version %I%, %G%
- */
- public class SyncTopicSubscriber {
- /**
- * Method main
- *
- *
- * @param args
- *
- */
- public static void main(String[] args) {
- Context ctx = null;
- Hashtable ht = new Hashtable();
- TopicConnectionFactory tConnectionFactory = null;
- TopicConnection tConnection = null;
- TopicSession tSession = null;
- TopicSubscriber tSubscriber = null;
- Topic t = null;
- TextMessage textMsg = null;
- String msg;
- try {
- // Obtain references to JMS Topic components.
- ht.put(Context.INITIAL_CONTEXT_FACTORY,
- "weblogic.jndi.WLInitialContextFactory");
- ht.put(Context.PROVIDER_URL, "t3://localhost:7001");
- ctx = new InitialContext(ht);
- tConnectionFactory =
- (TopicConnectionFactory) ctx.lookup("BibleJMSFactory");
- tConnection = tConnectionFactory.createTopicConnection();
- tSession = tConnection.createTopicSession(false,
- javax.jms.TopicSession.AUTO_ACKNOWLEDGE);
- t = (Topic) ctx.lookup("BibleJMSTopic");
- tSubscriber = tSession.createSubscriber(t);
- System.out.println("Receiving messages...");
- tConnection.start();
- textMsg = (TextMessage) tSubscriber.receive();
- while (true) {
- msg = textMsg.getText();
- System.out.println(" Receiving message: " + msg);
- if (msg.equals("Stop")) {
- break;
- }
- textMsg = (TextMessage) tSubscriber.receive();
- }
- tConnection.stop();
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- // Release JMS resources.
- tSubscriber.close();
- tSession.close();
- tConnection.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- }
- /*--- Formatted in Bible Style on Thu, Sep 6, '01 ---*/
- /*------ Formatted by Jindent 3.24 Gold 1.02 --- http://www.jindent.de ------*/