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-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 进行连接。