Итак, я создаю проект 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}