topicexample1subscriber.java
来自「精通Jboss——Ejb和Web Services开发精解的随书源代码」· Java 代码 · 共 64 行
JAVA
64 行
/**
* 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 + =
减小字号Ctrl + -
显示快捷键?