Пример JMS-примера с использованием Active MQ - PullRequest
3 голосов
/ 15 февраля 2012

Я хочу изучить приложение JMS, используя Active MQ.
Итак, скачал apache-activemq-5.5.1 и запустил сервер
и нашел пример кода, но не работает.Почему происходит следующее исключение?
Примечание: я добавил библиотеку activemq в свой проект, и библиотека содержит модуль org.slf4j

exception

 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());
           }
       }

1 Ответ

5 голосов
/ 15 февраля 2012

Эта ошибка сообщается, если класс org.slf4j.impl.StaticLoggerBinder не может быть загружен в память.Это происходит, когда в пути к классу не найдено подходящей привязки SLF4J.Размещение одного (и только одного) из slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar или logback-classic.jar на пути к классам должно решить эту проблему.

начиная с версии 1.6.0 Начиная с версии 1.6 SLF4J, при отсутствии привязки SLF4J будет по умолчанию использовать регистратор без операций (NOP).

Вы можете загрузить привязки SLF4J со страницы загрузки проекта.

http://www.slf4j.org/codes.html#StaticLoggerBinder

...