当前位置: 首页 > 面试题库 >

是否可以从另一个应用程序(在单独的进程中启动)连接到Spring Boot嵌入式ActiveMQ实例?

巫马庆
2023-03-14
问题内容

我已经阅读了一些有关Spring
Boot中对jms支持的示例。

通常,发送者,接收者和active-mq(实际上可以是任何其他与jms兼容的消息代理)都位于同一应用程序中。

我知道我可以使用独立的主动mq并使用属性 s:

spring.activemq.broker-url=tcp://192.168.1.210:9876
spring.activemq.user=admin
spring.activemq.password=secret

但是我想要2个应用程序:

1-发送器(从嵌入式接收器连接到jms并在其中发送消息)
2-接收器(up应用程序和嵌入式activemq)

可行吗?


问题答案:

只需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>


 类似资料:
  • 问题内容: 我确信你们中有人注意到,如果您有Acrobat Reader(或其他PDF阅读器),并在Firefox中打开一个PDF,您会看到它嵌入在您的标签中。有什么方法可以将应用程序嵌入JFrame中? 问题答案: 这是一个相当棘手的问题。通常,诸如Adobe Reader之类的本机应用程序不提供可以嵌入到swing应用程序中的组件。但是在Windows中,有COM / OLE方法可以将应用程序

  • 问题内容: 我目前正在开发一个Python应用程序,希望在该应用程序上查看实时统计信息。我想使用它以使其易于使用和理解。 问题是我的Flask服务器应该在我的Python应用程序的最开始处启动,而在最末尾停止。它看起来应该像这样: 因为我需要我的应用程序上下文(用于统计),所以不能使用multiprocessing.Process。然后,我尝试使用threading.Thread,但是Werkze

  • 问题内容: 我需要从另一个“容器”类启动一个Javafx应用程序,并在该应用程序上调用函数,但是似乎没有任何方法可以使用Application.launch()方法来获取对该应用程序的引用。这可能吗?谢谢 问题答案: 我遇到了同样的问题,并使用此hack解决了这个问题: 然后是您要从中启动应用程序的类: 希望对您有帮助。

  • 我在google play商店里有两个应用程序。有可能在第一个描述中创建一个从一个到另一个的http链接吗?

  • 正如标题所说:是否可以在路由(-builder)的流程功能中启动一个驼峰endpoint?我刚接触apache camel,但已经做了一些项目。 情况如下:我正在使用apache camel和西门子Teamcenter RAC执行一个SavedQuery。结果是一个ModelObject[]和找到的元素。 对于这些元素中的每一个,我现在需要启动另一个endpoint,执行第二个搜索查询。我想到了这

  • 我刚刚进入spring boot应用程序教程(1.5.8版)。我创建了一个简单的hello world独立应用程序,它支持log(log4j2)。当我执行应用程序时,我得到一个错误,端口8080已经在使用中。我有点困惑,我以为这个应用程序是独立的程序,不需要web容器或应用服务器。我想你可以根据阅读来部署它。 为了避免异常,在阅读了一些关于它的文章后,我通过提供参数使其工作。 我读到spring