2013-05-22 7 views
0

Я получаю следующую ошибку при запуске проекта rabbitmq и jms Spring вместе.org.springframework.jms.connection.CachingConnectionFactory не может быть передан в org.springframework.amqp.rabbit.connection.ConnectionFactory

ERROR osweb.context.ContextLoader - инициализация контекста не удалось org.springframework.beans.factory.BeanCreationException: Ошибка создании компонента с именем 'rabbitTemplate', определенного в классе пути ресурсов [COM/Thys/Михельс/service_core/amqp/AmqpConfiguration.class]: Ошибка создания бина; вложенное исключение составляет org.springframework.beans.factory.BeanDefinitionStoreException: Метода завода [общественный org.springframework.amqp.rabbit.core.RabbitTemplate com.thys.michels.service_core.amqp.AmqpConfiguration.rabbitTemplate()] бросил исключение; вложенное исключение java.lang.ClassCastException: org.springframework.jms.connection.CachingConnectionFactory не может быть приведение к org.springframework.amqp.rabbit.connection.ConnectionFactory

Вызванный: java.lang.ClassCastException: орг .springframework.jms.connection.CachingConnectionFactory не может быть приведение к org.springframework.amqp.rabbit.connection.ConnectionFactory

Любые предложения, почему?

+0

какие версии весны, кроликмк вы используете? не могли бы вы также разместить свою конфигурацию? – willome

+0

Config очень долго, надеюсь, это поможет: 3.2.2.RELEASE \t org.springframework.amqp \t весна-AMQP \t 1.0.0.RELEASE \t org.springframework.amqp \t весна-кролик \t 1.0.0.RELEASE

+0

и ваша конфигурация пружины? – willome

ответ

0

В моем классе JMS и RabbitMQ был класс connectionFactory, называемый connectionFactory, и поэтому connectionfactory для JMS был инициализирован для конфигурации RabbitMQ.

JMS класс

@Bean 
public ConnectionFactory connectionFactory() throws Exception { 
      ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(); 
      activeMQConnectionFactory.setBrokerURL(environment.getProperty("jms.broker.url")); 
      return new CachingConnectionFactory(activeMQConnectionFactory); 
     } 

RabbitMQ класс

@Bean 
     public ConnectionFactory connectionFactory() { 
       CachingConnectionFactory cachingConnectionFactory = new CachingConnectionFactory(); 
       cachingConnectionFactory.setUsername(environment.getProperty("amqp.broker.username")); 
       cachingConnectionFactory.setPassword(environment.getProperty("amqp.broker.password")); 
       cachingConnectionFactory.setHost(environment.getProperty("amqp.broker.host")); 
       cachingConnectionFactory.setPort(environment.getProperty("amqp.broker.port", Integer.class)); 
       // cachingConnectionFactory.setPort(60705); 
       return cachingConnectionFactory; 
      } 

просто изменил ConnectionFactory имена, и она работала.

Смежные вопросы