【问题标题】:How to create connection to AMQP queue over SSL using SOCKS proxy or any other proxy in java如何使用 SOCKS 代理或 java 中的任何其他代理通过 SSL 创建到 AMQP 队列的连接
【发布时间】:2019-11-11 14:42:12
【问题描述】:

使用 SOCKS 代理或任何其他代理,对于无法直接访问 Internet 或 amqps 连接端口被防火墙阻止的环境,是否有任何方法可以使用 org.apache.qpid.jms.JmsConnectionFactory 通过 SSL 连接到 amqp 队列.

我已经尝试在可以使用互联网的环境中使用 org.apache.qpid.jms.JmsConnectionFactory 通过 SSL 连接到 amqp 队列。它工作正常!!!

【问题讨论】:

    标签: java spring-boot amqp socks qpid


    【解决方案1】:

    使用最新版本的 Qpid JMS 客户端(截至本答案为 0.47.0),您可以创建自己的 Netty ProxyHandler 实例,该实例控制客户端如何通过代理进行连接,并在代码中记录的连接扩展上对其进行配置here:工厂通过setter 公开此连接扩展。此功能的test case 显示了一些用法。

    Supplier<ProxyHandler> proxyHandlerSupplier = () -> {
        return new Socks5ProxyHandler(new InetSocketAddress("localhost", getPort()));
    };
    
    JmsConnectionFactory factory = new JmsConnectionFactory(remoteURI);
        factory.setExtension(JmsConnectionExtensions.PROXY_HANDLER_SUPPLIER.toString(), (connection, remote) -> {
            return proxyHandlerSupplier;
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-03
      • 1970-01-01
      • 2017-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多