[英]Sample JMS example using Active MQ
我想学习使用Active MQ的JMS应用程序。
所以下载了apache-activemq-5.5.1并启动了服务器
并找到了示例代码但没有工作。 为什么发生以下异常?
注意:我在我的项目中添加了activemq库,库包含org.slf4j模块
import javax.jms.*;
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.MessageListener;
//JMS Producer
public class JMSProducer {
public void produce() {
String url = "tcp://localhost:61616";
ConnectionFactory factory = new ActiveMQConnectionFactory(url);
try {
Connection connection = factory.createConnection();
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic("TestTopic");
MessageProducer producer = session.createProducer(topic);
TextMessage msg = session.createTextMessage();
msg.setText("Hello JMS World");
producer.send(msg);
}
catch(JMSException exp) {
}
}
}
//JMS Consumer
public class JMSConsumer {
public void consume() {
String url = "tcp://localhost:61616";
ConnectionFactory factory = new ActiveMQConnectionFactory(url);
try {
Connection connection = factory.createConnection();
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic("TestTopic");
MessageConsumer consumer = session.createConsumer(topic);
JMSMessageListener listener = new JMSMessageListener();
consumer.setMessageListener(listener);
connection.start();
}
catch(JMSException exp) {
}
}
}
//JMS Message Listener
public class JMSMessageListener implements MessageListener {
@Override
public void onMessage(javax.jms.Message msg) {
System.out.println(msg.toString());
}
}
无法将org.slf4j.impl.StaticLoggerBinder类加载到内存中时会报告此错误。 如果在类路径上找不到合适的SLF4J绑定,则会发生这种情况。 在类路径上放置一个(并且只有一个)slf4j-nop.jar,slf4j-simple.jar,slf4j-log4j12.jar,slf4j-jdk14.jar或logback-classic.jar应该可以解决问题。
自1.6.0起自SLF4J版本1.6起,在没有绑定的情况下,SLF4J将默认为无操作(NOP)记录器实现。
您可以从项目下载页面下载SLF4J绑定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.