topicreceive.java
来自「jboss的jms一个小程序」· Java 代码 · 共 47 行
JAVA
47 行
package com.hotct.jms;
import javax.jms.*;
import javax.naming.*;
import java.util.*;
public class TopicReceive {
public static void main(String[] args) throws Exception{
//创建用于JNDI查询的Context
Context ctx = getInitialContext();
TopicConnectionFactory topicConnectionFactory =
(TopicConnectionFactory)ctx.lookup("TopicConnectionFactory");
Topic topic = (Topic)ctx.lookup("topic/testTopic");
TopicConnection topicConnection =
topicConnectionFactory.createTopicConnection();
TopicSession topicSession = topicConnection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
TopicSubscriber topicSubscriber = topicSession.createSubscriber(topic);
topicConnection.start();
while(true){
Message m = topicSubscriber.receive();
if(m instanceof TextMessage){
TextMessage message = (TextMessage)m;
System.out.println("Reading message:" + message.getText());
}
else{
break;
}
}
if(topicConnection != null){
topicSubscriber.close();
topicSession.close();
topicConnection.close();
}
}
private static Context getInitialContext() throws NamingException{
Hashtable environment = new Hashtable();
environment.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
environment.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
environment.put(Context.PROVIDER_URL, "jnp://localhost:1099");
return new InitialContext(environment);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?