The previous configuration of the clients included an embedded broker as
well:
<bean id="jmsBroker"
class="org.apache.activemq.broker.BrokerService"
init-method="start"
destroy-method="stop">
<property name="brokerName" value="cruncheragent"/>
<property name="useJmx" value="false"/>
<property name="useShutdownHook" value="false"/>
<property name="networkConnectorURIs">
<list>
<value>static:(failover:(tcp://localhost:61616))</value>
</list>
</property>
</bean>
<bean id="jmsConnectionFactory"
class="org.apache.activemq.pool.PooledConnectionFactory"
init-method="start"
destroy-method="stop">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="vm://cruncheragent"/>
</bean>
</property>
</bean>
However, what happened when I stopped the server (broker
"adminserver"), I
get this message in the client:
2006-11-17 16:20:41,588 WARN
[org.apache.activemq.network.DemandForwardingBridge] - Unexpected
remote
command:
ShutdownInfo {commandId = 52, responseRequired = false}
2006-11-17 16:20:41,590 WARN
[org.apache.activemq.network.DemandForwardingBridge] - Outbound
transport to
adminserver interrupted ...
However, once I start the server, I never see any further messages
about the
matter and the clients don't appear to reconnect (i.e. I never see
messages
on the server from the clients again). HOWEVER, if I don't use an
embedded
broker on the client and use failover:tcp://localhost:61616, the
messages
are sent to the server when it is once again available.
In short, it seems like sticking an embedded broker in between the
ConnectionFactory and the server seems to break failover.
Additionally, you asked:
Could be if you are connecting to other JMS brokers aside from
AMQ, but
if you are networking
ActiveMQ brokers only, I don't think so.
Just to rule that out, no, I'm only connecting to ActiveMQ servers.
Adrian and Gabriel: thanks for your input and help so far.
Thanks!
Kirk