gpt4 book ai didi

spring-boot - 是否有具有 SSL 连接配置的 Springboot ActiveMQ 外部代理的完整示例?

转载 作者:行者123 更新时间:2023-12-04 02:51:04 25 4
gpt4 key购买 nike

我们有一个带有 EJB 的 activemq 监听器 MDB,使用具有代理、SSL 证书、凭据配置的 activemq-rar.rar 连接器通过 SSL 监听代理。监听器在 JBOSS EAP 6.4 中运行良好。但是,需要将此 MDB 转换为 Spring Boot ActiveMQ 监听器。我可以通过简单的 tcp://localhost:61616 看到很多关于 Spring Boot ActiveMQ 的文章示例。是否有完整引用使用 Spring Boot 通过 SSL 向外部代理生成消息和从外部代理监听消息的工作示例。

我尝试按照以下说明使用 tcp 创建生产和消费消息
https://www.devglan.com/spring-boot/spring-boot-jms-activemq-example

http://activemq.apache.org/how-do-i-use-ssl.html

spring.activemq.broker-url=ssl://localhost:61616
spring.activemq.user=admin
spring.activemq.password=admin
spring.activemq.keyStore=broker.ks
spring.activemq.keyStorePassword=password

javax.net.ssl.keyStore=client.ks
javax.net.ssl.keyStorePassword=password
javax.net.ssl.trustStore=client.ts

我看到下面的异常。需要帮忙。
2019-01-14 00:54:33.209  INFO 13964 --- [           main] com.rime.springboot.amc.Application      : Started Application in 5.783 seconds (JVM running for 7.081)
2019-01-14 00:54:38.203 INFO 13964 --- [enerContainer-1] o.s.j.l.DefaultMessageListenerContainer : JMS message listener invoker needs to establish shared Connection
2019-01-14 00:54:38.244 ERROR 13964 --- [enerContainer-1] o.s.j.l.DefaultMessageListenerContainer : Could not refresh JMS Connection for destination 'inbound.queue' - retrying using FixedBackOff{interval=5000, currentAttempts=0, maxAttempts=unlimited}. Cause: Could not connect to broker URL: ssl://localhost:61616. Reason: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
2019-01-14 00:54:43.341 ERROR 13964 --- [enerContainer-1] o.s.j.l.DefaultMessageListenerContainer : Could not refresh JMS Connection for destination 'inbound.queue' - retrying using FixedBackOff{interval=5000, currentAttempts=1, maxAttempts=unlimited}. Cause: Could not connect to broker URL: ssl://localhost:61616. Reason: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

最佳答案

看来通过属性的自动配置是不是 目前支持。见:https://github.com/spring-projects/spring-boot/issues/17365https://github.com/spring-projects/spring-boot/issues/17589 .
同时,可以使用您自己的ActiveMQSslConnectionFactory 覆盖默认连接。 bean,提供您需要的 SSL 配置属性:

@Configuration
public class ActiveMQConfiguration {

@Bean
public ActiveMQSslConnectionFactory activeMQSslConnectionFactory(
@Value("${spring.activemq.broker-url}") String brokerUrl,
@Value("${spring.activemq.ssl.trustStorePath}") String trustStorePath,
@Value("${spring.activemq.ssl.trustStorePass}") String trustStorePass,
@Value("${spring.activemq.ssl.keyStorePath}") String keyStorePath,
@Value("${spring.activemq.ssl.keyStorePass}") String keyStorePass) throws Exception {
ActiveMQSslConnectionFactory factory = new ActiveMQSslConnectionFactory(brokerUrl);
factory.setTrustStore(trustStorePath);
factory.setTrustStorePassword(trustStorePass);
factory.setKeyStore(keyStorePath);
factory.setKeyStorePassword(keyStorePass);
return factory;
}
}
spring.activemq.ssl.*属性不基于任何现有或记录的属性,因此您不需要专门使用这些属性。

关于spring-boot - 是否有具有 SSL 连接配置的 Springboot ActiveMQ 外部代理的完整示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54172459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com