The broker goes on the sender machine.
Both machines have a connectionFactory going to the same machine ie myhostname (and not localhost).
Sending side hosta
Code:
<bean id="sendClipToRemoteProxiesQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="jms/sendClipToRemoteProxies"/>
</bean>
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://hosta:61616"/>
</bean>
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory">
<ref local="pooledConnectionFactory"/>
</property>
</bean>
<bean id="jmsSendClipToRemoteProxiesContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="destination" ref="sendClipToRemoteProxiesQueue"/>
<!-- no need to specifiy a messageListener bean because it is on the remote machine -->
<property name="concurrentConsumers" value="1" />
<property name="maxConcurrentConsumers" value="1" />
<property name="transactionManager">
<ref local="transactionManager"/>
</property>
</bean>
Receiving side hostb
Code:
<!-- no broker -->
<bean id="sendClipToRemoteProxiesQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="jms/sendClipToRemoteProxies"/>
</bean>
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://hosta:61616"/>
</bean>
<!-- no jmstemplate, because we are not sending -->
<bean id="jmsSendClipToRemoteProxiesContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="destination" ref="sendClipToRemoteProxiesQueue"/>
<property name="messageListener" ref="receiveClipToRemoteProxiesListener" />
<property name="concurrentConsumers" value="1" />
<property name="maxConcurrentConsumers" value="1" />
<property name="transactionManager">
<ref local="transactionManager"/>
</property>
</bean>