gpt4 book ai didi

java - 具有 SSL 连接功能的通用 JMS 客户端

转载 作者:行者123 更新时间:2023-11-29 07:43:19 25 4
gpt4 key购买 nike

目前,我已经使用标准 JMS API(仅 javax.jms.* 类)实现了非 SSL 安全客户端。当提供特定产品 JAR 和适当的类名时,它能够连接到任何 JMS 服务器。

有没有办法实现这种具有 SSL 连接功能的通用(独立于供应商)JMS 客户端?

我的研究并不成功 - 我发现了几个使用 SSL 实现 JMS 的示例(例如 Novell JMSActiveMQ ),但它们都没有避免直接在代码中使用特定于供应商的类,并且实现差异很大。

最佳答案

使用 SSL 不需要更改客户端中的任何代码。添加 SSL 功能只是配置问题。

一般来说,几乎没有什么不同:

  1. 连接 URL,以便客户端通过 SSL 协议(protocol)连接到正确的端口(ssl://broker_url 而不是 tcp://broker_url) .
  2. 连接工厂类 - 可能与非 SSL 类不同。
  3. 要使用的
  4. Keystore 和/或 truststore。可以使用特定方法以编程方式设置这些文件的路径——但这种方法需要实现供应商特定代码。更好的选择是传递 KS/TS java 系统属性。 (这甚至可以在没有任何准备的情况下使用 -D JVM 选项完成。)

由于第 2 点和第 3 点因 JMS 代理而异,请参阅供应商的文档以了解更多详细信息。


此答案基于成功连接到 Apache ActiveMQ 和 Tibco EMS 的经验,包括相互证书身份验证。

关于java - 具有 SSL 连接功能的通用 JMS 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27988163/

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