📄 topicexample1subscriber.java
字号:
/**
* Created on 2003-9-14
*/
package com.liuyang.jboss.message.jms.topic;
import java.util.Hashtable;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.TextMessage;
import javax.jms.Topic;
import javax.jms.TopicConnection;
import javax.jms.TopicConnectionFactory;
import javax.jms.TopicSession;
import javax.jms.TopicSubscriber;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
* @author
* <a href="mailto:jdcyang@yahoo.com.cn">刘洋</a>
*/
public class TopicExample1Subscriber {
public static void main(String[] args) throws Exception {
TopicExample1Subscriber subscriber = new TopicExample1Subscriber();
subscriber.connect();
Message msg = subscriber.Subscribe();
if(msg instanceof TextMessage){
System.out.println(((TextMessage)msg).getText());
}
subscriber.disconnect();
}
private TopicSession session;
private Topic topic;
private TopicConnection conn;
private TopicSubscriber subscriber;
private Context iniCtx;
public void connect() throws NamingException, JMSException{
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL,"localhost");
Context iniCtx = new InitialContext(env);
Object tmp = iniCtx.lookup("ConnectionFactory");
TopicConnectionFactory tcf = (TopicConnectionFactory) tmp;
conn = tcf.createTopicConnection();
topic = (Topic)iniCtx.lookup("topic/topicexample1");
session = conn.createTopicSession(false,TopicSession.AUTO_ACKNOWLEDGE);
conn.start();
subscriber = session.createSubscriber(topic,null, false);
}
public Message Subscribe() throws JMSException{
return subscriber.receive(2000);
}
public void disconnect() throws JMSException{
subscriber.close();
conn.stop();
session.close();
conn.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -