You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by William Blackburn <wj...@mac.com> on 2006/12/13 18:47:50 UTC
Using Servicemix with ActiveMQ failover does not work
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.