activemq http代理

bud*_*089 8 java activemq-classic jms http-proxy java-ee

我需要通过HTTP/HTTPS-Proxy将ActiveMQ-Listener连接到防火墙外的代理.我到处搜索但没有找到解决方法如何为AcitveMQ-Client设置代理设置.

ActiveMQ正在使用Apache HttpClient,但我不知道如何在ActiveMQ中操纵该客户端的创建.HttpClient不使用htttps.proxyHost和https.proxyPort.

有没有办法为HttpClient的所有实例设置全局http/https代理?

Nic*_*las 5

ActiveMQ HttpClientTransport包含以下可用于指定代理主机和端口的方法:

public void setProxyHost(String proxyHost)
public void setProxyPort(int proxyPort)
Run Code Online (Sandbox Code Playgroud)

对于5.6+版本,您还可以提供代理用户名和密码:

public void setProxyUser(String proxyUser)
public void setProxyPassword(String proxyPassword)
Run Code Online (Sandbox Code Playgroud)

要配置JmsInvokerProxyFactoryBean:

<bean id="jmsClientFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL">
      <value>http://myendpoint.somewhere.com:5186?proxyUser=fred&amp;proxyPassword=ahoy&amp;proxyHost=myproxyhost.somewhere.com&amp;proxyPort=8081</value>
    </property>
</bean>


<bean id="remotingService"
        class="org.springframework.jms.remoting.JmsInvokerProxyFactoryBean">
      <property name="serviceInterface" value="com.foo.CheckingAccountService"/>
      <property name="connectionFactory" ref="jmsClientFactory"/>
      <property name="queue" ref="queue"/>
   </bean>
Run Code Online (Sandbox Code Playgroud)