Как решить org.springframework.jms.config.JMSListenerEndpointRegister.isAutoStartUp () Z Ошибка? - PullRequest
0 голосов
/ 24 марта 2020

Итак, я создаю проект SpringFramework (4.3.20.RELEASE), отправляю и получаю сообщения на / с сервера activemq (в данном случае он у меня на локальном хосте).

Я могу отправить сообщение в очередь, но не может получить его оттуда. Вот мой класс потребителя и класс customerConfig.

Вот мои зависимости в POM

<!-- JMS -->
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-jms</artifactId>
           <version>5.1.5.RELEASE</version>
       </dependency>
       <dependency>
           <groupId>javax.jms</groupId>
           <artifactId>javax.jms-api</artifactId>
           <version>2.0.1</version>
       </dependency>
       <dependency>
           <groupId>org.apache.activemq</groupId>
           <artifactId>activemq-all</artifactId>
           <version>5.10.0</version>
       </dependency>

Вот мой класс ConsumerConfig

@Configuration
@EnableJms
public class ReceiverConfig {

    private String brokerUrl = "tcp://localhost:61616";

    @Bean
    public ActiveMQConnectionFactory receiverActiveMQConnectionFactory() {
        ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory();
        activeMQConnectionFactory.setBrokerURL(brokerUrl);

        return activeMQConnectionFactory;
    }

    @Bean
    public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
        DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
        factory.setConnectionFactory(receiverActiveMQConnectionFactory());
        factory.setConcurrency("1-1");

        return factory;
    }

    @Bean
    public Receiver receiver() {
        return new Receiver();
    }
}

и Потребительский класс

public class Receiver {

    private static final Logger logger = LoggerFactory.getLogger(Receiver.class);

    @Autowired
    private Processor processor;

    @JmsListener(destination = "my.queue", containerFactory = "jmsListenerContainerFactory")
    public void receive(String message) {
        logger.info("We have read message " + message + " from Queue");
    }

}

И ошибка, которую я получаю

[2020-03-24 04:57:53,405] Artifact {my-project}:war: java.lang.Exception: {"WFLYCTL0080: Failed services" => {"jboss.undertow.deployment.default-server.default-host.\"/{my-project}\"" => "org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host.\"/{my-project}\": java.lang.AbstractMethodError: org.springframework.jms.config.JmsListenerEndpointRegistry.isAutoStartup()Z
    Caused by: java.lang.AbstractMethodError: org.springframework.jms.config.JmsListenerEndpointRegistry.isAutoStartup()Z"},"WFLYCTL0412: Required services that are not installed:" => ["jboss.undertow.deployment.default-server.default-host.\"/{my-project}\""],"WFLYCTL0180: Services with missing/unavailable dependencies" => undefined}
...