【问题标题】:How do I configure SSL, username and password for Spring Boot Artemis on application.properties?如何在 application.properties 上为 Spring Boot Artemis 配置 SSL、用户名和密码?
【发布时间】:2016-04-25 18:33:42
【问题描述】:

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

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

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

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

谢谢!

【问题讨论】:

    标签: spring-boot spring-messaging


    【解决方案1】:

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

    【讨论】:

    • 属性文件的用途之一是避免自己编写样板代码,所以我确实认为,就像它配置主机/端口一样,它应该能够指定连接是否安全。我去了Artemis启动器的GitHub存储库,看到它是如何设置连接参数的硬编码,而不是使它更加动态,因为Artemis使用了一个名为TransportConstants的类的连接属性,所以我要做一个结帐,修改它以添加 SSL 配置,甚至可能创建一个 Pull Request 以供其贡献
    【解决方案2】:

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

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

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    相关资源
    最近更新 更多