【问题标题】:Differences between Embedded and Native Modes in ArtemisArtemis 中嵌入模式和原生模式的区别
【发布时间】:2021-09-24 06:35:57
【问题描述】:
根据 Artemis 模式的官方 Spring Boot 文档:
支持的模式是:embedded(明确表示嵌入式
经纪人是必需的,如果经纪人不是,应该会导致错误
在类路径中可用),并使用native 连接到代理
netty 传输协议。
将org.apache.activemq:artemis-jms-server 添加到您的应用程序允许您使用embedded 模式。
embedded 模式是否用于创建 Artemis 服务器? Artemis 中的嵌入模式和原生模式有什么区别?
【问题讨论】:
标签:
spring-boot
activemq-artemis
【解决方案1】:
Apache ActiveMQ Artemis 核心被设计为一组简单的 POJO,所以如果你
有一个内部需要消息传递功能的应用程序,但您不想将其公开为 Apache ActiveMQ Artemis 代理,您可以直接在您自己的应用程序中实例化和嵌入代理,请参阅documentation 了解更多详细信息。
当 Spring Boot 使用 Artemis 嵌入模式时,它会连接到在您自己的应用程序中运行的代理实例,由 Spring Boot 自己实例化。
Spring Boot 使用 Artemis 原生模式时,会连接到一个运行在你自己应用之外的 broker 实例,你可以使用 spring.artemis.* 中的配置属性来设置连接参数:
spring.artemis.mode=native
spring.artemis.host=192.168.1.210
spring.artemis.port=9876
spring.artemis.user=admin
spring.artemis.password=secret