2013-01-18 96 views
7

我需要通過HTTP/HTTPS代理將ActiveMQ-Listener連接到防火牆外的代理。我到處搜索過,但還沒有找到解決方法來設置AcitveMQ-Client的代理設置。activemq http代理

ActiveMQ正在使用Apache HttpClient,但我不知道如何在ActiveMQ中操作此客戶端的創建。 HttpClient不使用htttps.proxyHost和https.proxyPort。

有沒有辦法爲所有HttpClient實例設置全局http/https代理?

回答

5

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

public void setProxyHost(String proxyHost) 
public void setProxyPort(int proxyPort) 

對於版本5.6+,您還可以提供代理用戶名和密碼:

public void setProxyUser(String proxyUser) 
public void setProxyPassword(String proxyPassword) 

配置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> 
+0

謝謝,但我怎麼能得到的實例我的Httpclienttransport設置代理。 Iam使用Springs JmsInvokerProxyFactoryBean,我不知道HttpClienttransport創建的位置以及如何訪問Activemq中的實例? – buddha089

+0

查看最新編輯。 – Nicholas

+0

嗨我正在使用ActiveMQConnectionFactory使用JmsTemplate創建連接。我需要連接到代理服務器後面的activeMq。你可以讓我知道如何將代理細節設置爲activemqConection。我們使用tcp trasport連接與activemq進行通信。感謝提前幫助。 –