2013-01-18 16 views
7

Potrzebuję podłączyć ActiveMQ-Listener do brokera poza firewallem za pośrednictwem HTTP/HTTPS-Proxy. Szukałem wszędzie, ale nie znalazłem rozwiązania, jak ustawić ustawienia proxy dla klienta AcitveMQ.activemq http proxy

ActiveMQ używa Apache HttpClient, ale nie wiem jak manipulować tworzeniem tego klienta w ActiveMQ. Używanie htttps.proxyHost i https.proxyPort nie jest używane przez HttpClient.

Czy istnieje sposób ustawienia globalnego proxy http/https dla wszystkich instancji HttpClient?

Odpowiedz

5

ActiveMQ HttpClientTransport zawiera następujące metody można użyć do określenia serwera proxy oraz port:

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

Dla wersji 5.6+ można również podać nazwę użytkownika i hasło proxy:

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

Aby skonfigurować obiekt 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

Dzięki, ale jak uzyskać instancję mojego Httpclienttransport do ustawienia proxy. Używam Springs JmsInvokerProxyFactoryBean i nie wiem, gdzie jest tworzony Httpclienttransport i jak uzyskać dostęp do instancji w Activemq? – buddha089

+0

Zobacz ostatnią zmianę. – Nicholas

+0

Witam Używam ActiveMQConnectionFactory do utworzenia połączenia za pomocą JmsTemplate. Muszę połączyć się z activeMq, który znajduje się za serwerem proxy. Czy możesz dać mi znać, jak ustawić szczegóły proxy na activemqConection. używamy połączenia tcp trasport do komunikacji z activemq. dzięki za pomoc z góry. –