1

我使用的是 Spring Boot 1.3.1,我可以通过 application.properties 自动配置我的 JMS 组件。

当我使用 Artemis 作为我的消息代理时,我使用的是 spring-boot-starter-artemis,并且正如此链接中的文档所述,我所要做的就是替换 spring.hornetq.* 属性并放置 spring. artemis.* 代替。

问题是它没有显示如何为 HornetQ/Artemis 配置用户名、密码和 SSL 配置。我将 Artemis 配置为使用 SSL 和用户/通过身份验证,如此处所示

有谁知道我可以声明哪些属性来添加 SSL 和用户/密码?

谢谢!

4

2 回答 2

1

好的,目前 Artemis Spring Boot 启动器非常基础,它确实不支持集群、SSL 或客户端身份验证。

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

一个更完整的连接配置示例在 Artemis 的测试源代码中,在CoreClientOverTwoWaySSLTest.java的第 178 行及以后,有一个非常完整的连接设置,所以要做出贡献,我必须将 Artemis 自动配置属性更改为采用新的属性选项,并按照 CoreClientOverTwoWaySSLTest.java 中的示例将它们全部添加到 ArtemisConnectionFactoryFactory.java

我将在启动器上做一个分叉,进行修改,并弄清楚提交拉取请求并在 spring-boot 上接受它需要什么官僚机构。

于 2016-01-21T01:21:22.703 回答
0

Spring Boot 不支持这样的安排。如果您问我,并非所有事情都应该通过属性发生,但无论如何,找出问题的一个好方法是让您的 IDE 自动完成该命名空间的密钥(您会很快发现那里没有与 SSL 和安全性相关的内容) )。如果你不使用 IDE,这个附录应该会有所帮助

于 2016-01-20T09:09:28.977 回答