我已经在春季启动时阅读了几个关于jms支持的examples。
通常发送方,接收方和active-mq(实际上它可以是任何其他jms兼容的消息代理)位于同一个应用程序中。
我知道我可以使用独立的有效mq和use propertie s:
spring.activemq.broker-url=tcp://192.168.1.210:9876
spring.activemq.user=admin
spring.activemq.password=secret
但我想要2个申请:
1-发送者(从嵌入式接收器连接到jms并在那里发送消息)
2接收器(up application和embedded activemq)
是否可以?
答案 0 :(得分:4)
只需在您的应用程序中添加BrokerService
bean:
@SpringBootApplication
public class So48504265Application {
public static void main(String[] args) {
SpringApplication.run(So48504265Application.class, args);
}
@Bean
public BrokerService broker() throws Exception {
BrokerService broker = new BrokerService();
broker.addConnector("tcp://localhost:61616);
return broker;
}
@Bean
public ApplicationRunner runner(JmsTemplate template) {
return args -> template.convertAndSend("foo", "AMessage");
}
@JmsListener(destination = "foo")
public void listen(String in) {
System.out.println(in);
}
}
和
spring.activemq.broker-url=tcp://localhost:61616
并将其添加到您的pom
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-kahadb-store</artifactId>
</dependency>
答案 1 :(得分:0)
添加到您的配置中以本地或远程访问
@Bean
public BrokerService broker() throws Exception {
BrokerService broker = new BrokerService();
broker.addConnector("tcp://0.0.0.0:61616");
brokerService.setPersistent(false);
return broker;
}