Jms ActiveMQ,主题不跳出消息
Imho下面的代码应该创建一条新消息,并立即再次获取该消息。但输出为零。为什么?Jms ActiveMQ,主题不跳出消息,jms,activemq,publish-subscribe,Jms,Activemq,Publish Subscribe,Imho下面的代码应该创建一条新消息,并立即再次获取该消息。但输出为零。为什么? public static void main(String[] args) throws JMSException, NamingException { Properties props = new Properties(); props.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.apache.activemq.jndi.Ac
public static void main(String[] args) throws JMSException, NamingException {
Properties props = new Properties();
props.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
props.setProperty(Context.PROVIDER_URL,"tcp://localhost:61616");
props.setProperty("topic.MyTopic", "FOO.BAR");
// create a new intial context, which loads from jndi.properties file
Context ctx = new InitialContext(props);
// lookup the connection factory
TopicConnectionFactory factory = (TopicConnectionFactory) ctx.lookup("ConnectionFactory");
// create a new TopicConnection for pub/sub messaging
TopicConnection conn = factory.createTopicConnection();
// lookup an existing topic
Topic mytopic = (Topic) ctx.lookup("MyTopic");
// create a new TopicSession for the client
TopicSession session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
// create a new publisher to produce messages
TopicPublisher publisher = session.createPublisher(mytopic);
// create a new subscriber to receive messages
TopicSubscriber subscriber = session.createSubscriber(mytopic);
subscriber.setMessageListener(new MessageListener() {
public void onMessage(Message msg) {
try {
TextMessage textMessage = (TextMessage) msg;
String txt = textMessage.getText();
System.out.println(txt);
} catch (JMSException e) {
e.printStackTrace();
}
}
});
TextMessage message = session.createTextMessage();
message.setText("Kebap: Pommes");
publisher.publish(message);
}
好的,我发现了问题。ActiveMQ网站上的例子不是很好。。。但它们也为我的问题提供了答案