Я пытаюсь настроить свое весеннее приложение на прослушивание очереди JMS. Я пытаюсь установить url-адрес брокера в своем application.yml, но по умолчанию всегда возвращается значение «localhost: 61616». Файл application.yml загружается из другого приложения, но я не думаю, что это имеет значение, поскольку считываются другие свойства в файле (например, имя очередей)
Вот сообщение, которое я получаю:
o.a.a.t.failover.FailoverTransport;Failed to connect to [tcp://localhost:61616] after: 40 attempt(s) continuing to retry.
Что я пробовал
Я пробовал следовать ответу на этот вопрос: Camel ActiveMQ + Spring boot не читает конфигурации Spring activemq. Это моя точная проблема.
Но когда я пытаюсь добавить зависимость и создать этот класс, я получаю эту ошибку:
Parameter 0 of method createComponent in xxx.xxxxx.xxxx.configuration.ActiveMQComponentConfig required a bean of type 'javax.jms.ConnectionFactory' that could not be found.
Я новичок в Spring boot / ActiveMQ и действительно не знаю, что с этим делать.
Вот соответствующая часть моего pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath />
</parent>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring-boot-starter</artifactId>
<version>${camel.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-camel</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-broker</artifactId>
</exclusion>
</exclusions>
</dependency>
И мой application.yml:
spring:
aop:
proxy-target-class: true
cache:
ehcache:
config: classpath:ehcache.xml
activemq:
broker-url: tcp://foo:12345
pool:
enabled: true
max-connections: 5
Любая помощь будет принята с благодарностью, я уже потратил на это довольно много времени и не добился никакого прогресса