I'm out of my depth - and I apologize for posting this on both lists, but I am desperate.

I have configured ActiveMQ in a Master/Slave arrangement according to the instructions for 'pure' master/slave. The brokers start with no problem and I can immediately start using my servicemix-based application. The jmsflow starts up fine with a failover url like:

failover://(tcp://localhost:61617,tcp://localhost:61618)? randomize=false

I then kill the master broker - I can see from the logs that the slave is opening its transports and ready to receive messages, but at this point my servicemix app stops working. I see in the logs for the Slave broker a problem that I don't understand the implications of:


2006-12-13 09:24:50,900 [127.0.0.1:61617] ERROR MasterConnector - Network connection between vm:// localhost#0 and tcp://localhost/127.0.0.1:61617 shutdown: null
java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:358)
at org.apache.activemq.openwire.OpenWireFormat.unmarshal (OpenWireFormat.java:275) at org.apache.activemq.transport.tcp.TcpTransport.run (TcpTransport.java:136)
        at java.lang.Thread.run(Thread.java:613)
2006-12-13 09:24:50,903 [127.0.0.1:61617] WARN BrokerService - Master Failed - starting all connectors 2006-12-13 09:24:51,139 [127.0.0.1:61617] INFO TransportServerThreadSupport - Listening for connections at: tcp:// fastgt.local:61618 2006-12-13 09:24:51,213 [127.0.0.1:61617] INFO TransportConnector - Connector default Started 2006-12-13 09:24:51,343 [127.0.0.1:49336] ERROR ManagedRegionBroker - Failed to register subscription QueueSubscription: consumer=ID:fastgt.local-49287-1166030617711-1:0:1:14, destinations=0, dispatched=0, delivered=0, pending=0 javax.management.InstanceAlreadyExistsException: org.apache.activemq:BrokerName=localhost,Type=Subscription,active=true,n ame=ID_fastgt.local-49287-1166030617711-1_0_1_14 at com.sun.jmx.mbeanserver.RepositorySupport.addMBean (RepositorySupport.java:452) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject (DefaultMBeanServerInterceptor.java:1410) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject (DefaultMBeanServerInterceptor.java:936) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean (DefaultMBeanServerInterceptor.java:337) at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean (JmxMBeanServer.java:497) at org.apache.activemq.broker.jmx.ManagedRegionBroker.registerSubscription( ManagedRegionBroker.java:264) at org.apache.activemq.broker.jmx.ManagedRegionBroker.registerSubscription( ManagedRegionBroker.java:184) at org.apache.activemq.broker.jmx.ManagedQueueRegion.createSubscription (ManagedQueueRegion.java:46) at org.apache.activemq.broker.region.AbstractRegion.addConsumer (AbstractRegion.java:146) at org.apache.activemq.broker.region.RegionBroker.addConsumer (RegionBroker.java:297) at org.apache.activemq.broker.BrokerFilter.addConsumer (BrokerFilter.java:74) at org.apache.activemq.advisory.AdvisoryBroker.addConsumer (AdvisoryBroker.java:78) at org.apache.activemq.broker.BrokerFilter.addConsumer (BrokerFilter.java:74) at org.apache.activemq.broker.MutableBrokerFilter.addConsumer (MutableBrokerFilter.java:87) at org.apache.activemq.broker.AbstractConnection.processAddConsumer (AbstractConnection.java:529) at org.apache.activemq.command.ConsumerInfo.visit (ConsumerInfo.java:296) at org.apache.activemq.broker.AbstractConnection.service (AbstractConnection.java:237) at org.apache.activemq.broker.TransportConnection$1.onCommand (TransportConnection.java:61) at org.apache.activemq.transport.ResponseCorrelator.onCommand (ResponseCorrelator.java:92) at org.apache.activemq.transport.TransportFilter.onCommand (TransportFilter.java:67) at org.apache.activemq.transport.WireFormatNegotiator.onCommand (WireFormatNegotiator.java:124) at org.apache.activemq.transport.InactivityMonitor.onCommand (InactivityMonitor.java:123) at org.apache.activemq.transport.TransportSupport.doConsume (TransportSupport.java:88) at org.apache.activemq.transport.tcp.TcpTransport.run (TcpTransport.java:137)
        at java.lang.Thread.run(Thread.java:613)
2006-12-13 09:24:51,468 [127.0.0.1:61617] INFO TransportConnector - Connector vm://localhost Stopped



From this point on, any new attempt to send an exchange in servicemix results in:

javax.jms.JMSException: Cannot send from a session that had not been registered: ID:fastgt.local-49287-1166030617711-1:0:1 at org.apache.activemq.util.JMSExceptionSupport.create (JMSExceptionSupport.java:45) at org.apache.activemq.ActiveMQConnection.syncSendPacket (ActiveMQConnection.java:1118) at org.apache.activemq.ActiveMQSession.send (ActiveMQSession.java:1555) at org.apache.activemq.ActiveMQMessageProducer.send (ActiveMQMessageProducer.java:462) at org.apache.activemq.ActiveMQMessageProducer.send (ActiveMQMessageProducer.java:415) at org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow.doRouting (JMSFlow.java:501) at org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow.doSend (JMSFlow.java:460) at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.send (AbstractFlow.java:121) at org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket (DefaultBroker.java:298) at org.apache.servicemix.jbi.container.JBIContainer.sendExchange (JBIContainer.java:793) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend (DeliveryChannelImpl.java:375) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send (DeliveryChannelImpl.java:411) at org.apache.servicemix.components.util.PojoSupport.send (PojoSupport.java:228) at com.clairmail.component.sm.SmppServerComponent.handleInMessage (SmppServerComponent.java:148) at com.clairmail.smpp.mblox.DeliverSMHandlerNotifier.notifyMessageHandler (DeliverSMHandlerNotifier.java:49) at com.clairmail.smpp.mblox.DeliverSMHandlerNotifier.run (DeliverSMHandlerNotifier.java:40) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask (ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:613)


Has anyone successfully got servicemix working with AMQ failover? Any advice welcomed, I know I must be missing something.

Reply via email to