仅当 broker 暴露 ActiveMQ Classic 的 HTTP 传输、且相应的客户端传输实现可用时才使用本方法。TCP 连接器或管理网页并不是该端点。

ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(
    "http://broker.example:8081?proxyHost=proxy.example&proxyPort=8080");

broker.example:8081 是 HTTP broker 的目标地址。proxy.example:8080 是它的转发中介。代理参数仍是 URI 选项,并不替代 broker 的主机名。如果 broker 的 HTTP 传输可公开访问且允许使用公共中介,HTTP 代理列表可以为未配置代理凭据的路由提供候选的 proxyHost/proxyPort 值。请确认能够访问实际的 broker 主机和 HTTP 传输端口。

ActiveMQ Classic 5.18.3 从 proxyHost/proxyPort 构建路由并接受 proxyUser/proxyPassword,把所提供的 HTTP 凭据限定在该代理端点。请通过应用的参数处理来构造带身份验证的 URI,使凭据中的保留字符保持编码状态。

中介账户与 JMS 连接方法所使用的 broker 账户相互独立。请为这条已配置的工厂保留其指定路由:在 JVM 中其他位置更改另一个 HTTP 客户端,并不会更新已用显式选项构建的工厂。

相关文章