如何在 application.properties 上为 Spring Boot Artemis 配置 SSL、用户名和密码?

How do I configure SSL, username and password for Spring Boot Artemis on application.properties?

我正在使用 Spring Boot 1.3.1,我可以通过 application.properties.

自动配置我的 JMS 组件

因为我使用 Artemis 作为我的消息代理,所以我使用 spring-boot-starter-artemis,正如 this link 中的文档所述,我所要做的就是替换 spring.hornetq.* 属性并放置 spring.artemis.* 代替。

问题是它没有显示如何为 HornetQ/Artemis 配置用户名、密码和 SSL 配置。我将 Artemis 配置为使用 SSL 和 user/pass 身份验证,如 in here.

所示

有谁知道我可以声明哪些属性来添加 SSL 和 user/pass?

谢谢!

Spring Boot不支持这样的排列方式。如果你问我,并不是所有的事情都应该通过属性发生,但无论如何,一个很好的方法是询问你的 IDE 到 auto-complete 那个命名空间的键(你很快就会发现没有任何相关的东西那里的 SSL 和安全性)。如果您不使用 IDE,this appendix 应该会有所帮助

好的,目前 Artemis Spring 引导程序非常基础,它确实不支持集群、SSL 或客户端身份验证。

快速查看 GitHub 中启动程序的源代码,在 ArtemisConnectionFactoryFactory.java 文件的第 127 行及以后,我必须添加配置 SSL、身份验证所必需的 TransportConstants,等等

A​​rtemis 的测试源代码中有一个更完整的连接配置示例,在 CoreClientOverTwoWaySSLTest.java 的第 178 行及以后,有一个非常完整的连接设置,所以为了贡献,我必须更改Artemis auto-configuration 属性采用新的 属性 选项,并按照 CoreClientOverTwoWaySSLTest.java

中的示例将它们全部添加到 ArtemisConnectionFactoryFactory.java

我将在启动器上做一个分支,进行修改,并弄清楚提交拉取请求并使其在 spring-boot 上被接受需要哪些官僚主义。