ActiveMQ Artemis 与 ActiveMQ Classic 连接

问题描述 投票:0回答:1

ActiveMQ Artemis 连接配置之间有什么区别吗

aplication.yaml
:

spring.artemis.mode=native
spring.artemis.host=192.168.1.210
spring.artemis.port=9876

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

如果仅使用此依赖项:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-artemis</artifactId>
        </dependency>

我假设

spring-boot-starter-artemis
允许您通过 JMS 连接,即
spring.activemq.XXX
,如果您想以 Artemis 方法进行连接,那么您可以使用
spring.artemis.XXX
,bean 将自动配置。

但我不确定

我阅读了本页上的主要差异

哪一个更好?对于JMS(ActiveMQConnectionFactory)我可以使用CachingConnectionFactory,artemis自动配置需要它吗?

spring-boot activemq activemq-artemis
1个回答
4
投票

如果您使用

spring-boot-starter-artemis
表示您想要连接到 ActiveMQ Artemis 的实例,这意味着您需要配置
spring.artemis.XXX
属性。假设您使用的是
spring-boot-starter-artemis
2.7.0(即最新版本),您将需要使用
spring.activemq.broker-url
中引用的 Spring 文档,例如:

spring.artemis.mode=native
spring.artemis.broker-url=tcp://192.168.1.210:9876
spring.artemis.user=admin
spring.artemis.password=secret

您引用的

host
port
属性已被弃用,取而代之的是
broker-url

文档继续:

默认情况下,

CachingConnectionFactory
使用合理的设置包装原生
ConnectionFactory
,您可以通过
spring.jms.*
中的外部配置属性进行控制:

spring.jms.cache.session-cache-size=5

如果您更愿意使用本机池,可以通过向

org.messaginghub:pooled-jms
添加依赖项并相应地配置
JmsPoolConnectionFactory
来实现,如以下示例所示:

spring.artemis.pool.enabled=true
spring.artemis.pool.max-connections=50

无论您使用

spring-boot-starter-artemis
spring.artemis.XXX
属性还是
spring-boot-starter-activemq
spring.activemq.XXX
属性,底层 Spring 组件都将使用 JMS 进行连接。

© www.soinside.com 2019 - 2024. All rights reserved.