You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Javier Leyba <xl...@gmail.com> on 2006/07/26 12:38:25 UTC

Network of brokers problem

Hi

I'm having a big problem with my scenario to connect a network of brokers.

I' ve two server (S1 and S2). Each one is running a master broker and
a slave broker. I want to have a network of brokers.

Then, for S1 master I did:

<networkConnectors>
        <networkConnector name="default"
uri="static://(tcp://S1:62001,tcp://S2:62006,tcp://S2:62008)"
failover="true" dynamicOnly="false" />
    </networkConnectors>


Why ? I need to connect my S1 master to S2 master (tcp://S2:62006) but
if S2 master fails, his slave will take control so I´ll need a
connection to him (tcp://S2:62008).


in my S1 slave I did it in the same way

<networkConnectors>
        <networkConnector name="default"
uri="static://(tcp://S1:62003,tcp://S2:62006,tcp://S2:62008)"
failover="true" dynamicOnly="false" />
    </networkConnectors>


and I did it in the same way for S2 master and slave.

Then I configured my clients with this:

broker.url=failover://(tcp://S1:62002,tcp://S1:62004,tcp://S2:62006,tcp://S2:62008)?randomize=false&connectionTimeout=20000&soTimeout=10000&wireFormat.maxInactivityDuration=20000

So my clients will try to connect to S1 master if it fails will try to
S1 slave if it fails will try to S2 master and so on.

After some tests, all my well planned scenario didn´t worked...

Is my way the right way to do this ?

Could somebody clarify this matter ?

Thanks in advance




-- 
Javier Leyba
Barcelona - Spain
http://blog.leyba.com.ar

Re: Network of brokers problem

Posted by Javier Leyba <xl...@gmail.com>.
Hi

Could please somebody tell me where could I find info about how to
correctly connect a network of master/slave nodes ?

I' ve been asking for help at least four times in last months without
answers and I need to solve this. May be no one used this kind of
configuration but I need to do it and couldn´t found docs where to
learn.


Thanks in advance

J



On 7/26/06, Javier Leyba <xl...@gmail.com> wrote:
> On 7/26/06, Javier Leyba <xl...@gmail.com> wrote:
> > Hi
> >
> > I'm having a big problem with my scenario to connect a network of brokers.
> >
> > I' ve two server (S1 and S2). Each one is running a master broker and
> > a slave broker. I want to have a network of brokers.
> >
> > Then, for S1 master I did:
> >
> > <networkConnectors>
> >         <networkConnector name="default"
> > uri="static://(tcp://S1:62001,tcp://S2:62006,tcp://S2:62008)"
> > failover="true" dynamicOnly="false" />
> >     </networkConnectors>
> >
>
>
> In my tests, when I kill S1 and send a new topic message I got the error:
>
> 13:33:17,452 INFO  [Service] Sync error occurred:
> javax.jms.JMSException: Durable consumer is in use for client:
> javier0101 and subscriptionName: nuevo1javier_0
> javax.jms.JMSException: Durable consumer is in use for client:
> javier0101 and subscriptionName: nuevo1javier_0
>         at org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion.java:80)
>         at org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:296)
>         at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:73)
>         at org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:77)
>         at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:73)
>         at org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:86)
>         at org.apache.activemq.broker.AbstractConnection.processAddConsumer(AbstractConnection.java:427)
>         at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:295)
>         at org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:201)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:62)
>         at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:97)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:63)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:114)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
>         at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:87)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:143)
>         at java.lang.Thread.run(Thread.java:534)
> 13:33:17,475 ERROR [ManagedRegionBroker] Failed to register
> subscription TopicSubscription:
> consumer=ID:nt93233-2002-1153913363716-0:0:-1:1, destinations=0,
> dispatched=0, delivered=0, matched=0, discarded=0
> javax.management.InstanceAlreadyExistsException:
> org.apache.activemq:BrokerName=SLAVENOVA1,Type=Subscription,active=true,name=ID_nt93233-2002-1153913363716-0_0_-1_1
> already registered.
>         at org.jboss.mx.server.registry.BasicMBeanRegistry.add(BasicMBeanRegistry.java:742)
>         at org.jboss.mx.server.registry.BasicMBeanRegistry.registerMBean(BasicMBeanRegistry.java:210)
>         at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
>         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
>         at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
>         at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
>         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
>         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
>         at org.jboss.mx.server.MBeanServerImpl$3.run(MBeanServerImpl.java:1407)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:1402)
>         at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:361)
>         at org.apache.activemq.broker.jmx.ManagedRegionBroker.registerSubscription(ManagedRegionBroker.java:260)
>         at org.apache.activemq.broker.jmx.ManagedRegionBroker.registerSubscription(ManagedRegionBroker.java:180)
>         at org.apache.activemq.broker.jmx.ManagedTopicRegion.createSubscription(ManagedTopicRegion.java:44)
>         at org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:145)
>         at org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion.java:113)
>         at org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:296)
>         at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:73)
>         at org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:77)
>         at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:73)
>         at org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:86)
>         at org.apache.activemq.broker.AbstractConnection.processAddConsumer(AbstractConnection.java:427)
>         at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:295)
>         at org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:201)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:62)
>         at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:97)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:63)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:114)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
>         at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:87)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:143)
>         at java.lang.Thread.run(Thread.java:534)
>
> and my suscriptors didn't received the message.
>
>
> --
> Javier Leyba
> Barcelona - Spain
> http://blog.leyba.com.ar
>


-- 
Javier Leyba
Barcelona - Spain
http://blog.leyba.com.ar

Re: Network of brokers problem

Posted by Javier Leyba <xl...@gmail.com>.
On 7/26/06, Javier Leyba <xl...@gmail.com> wrote:
> Hi
>
> I'm having a big problem with my scenario to connect a network of brokers.
>
> I' ve two server (S1 and S2). Each one is running a master broker and
> a slave broker. I want to have a network of brokers.
>
> Then, for S1 master I did:
>
> <networkConnectors>
>         <networkConnector name="default"
> uri="static://(tcp://S1:62001,tcp://S2:62006,tcp://S2:62008)"
> failover="true" dynamicOnly="false" />
>     </networkConnectors>
>


In my tests, when I kill S1 and send a new topic message I got the error:

13:33:17,452 INFO  [Service] Sync error occurred:
javax.jms.JMSException: Durable consumer is in use for client:
javier0101 and subscriptionName: nuevo1javier_0
javax.jms.JMSException: Durable consumer is in use for client:
javier0101 and subscriptionName: nuevo1javier_0
        at org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion.java:80)
        at org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:296)
        at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:73)
        at org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:77)
        at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:73)
        at org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:86)
        at org.apache.activemq.broker.AbstractConnection.processAddConsumer(AbstractConnection.java:427)
        at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:295)
        at org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:201)
        at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:62)
        at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:97)
        at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:63)
        at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:114)
        at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
        at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:87)
        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:143)
        at java.lang.Thread.run(Thread.java:534)
13:33:17,475 ERROR [ManagedRegionBroker] Failed to register
subscription TopicSubscription:
consumer=ID:nt93233-2002-1153913363716-0:0:-1:1, destinations=0,
dispatched=0, delivered=0, matched=0, discarded=0
javax.management.InstanceAlreadyExistsException:
org.apache.activemq:BrokerName=SLAVENOVA1,Type=Subscription,active=true,name=ID_nt93233-2002-1153913363716-0_0_-1_1
already registered.
        at org.jboss.mx.server.registry.BasicMBeanRegistry.add(BasicMBeanRegistry.java:742)
        at org.jboss.mx.server.registry.BasicMBeanRegistry.registerMBean(BasicMBeanRegistry.java:210)
        at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
        at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
        at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
        at org.jboss.mx.server.MBeanServerImpl$3.run(MBeanServerImpl.java:1407)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:1402)
        at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:361)
        at org.apache.activemq.broker.jmx.ManagedRegionBroker.registerSubscription(ManagedRegionBroker.java:260)
        at org.apache.activemq.broker.jmx.ManagedRegionBroker.registerSubscription(ManagedRegionBroker.java:180)
        at org.apache.activemq.broker.jmx.ManagedTopicRegion.createSubscription(ManagedTopicRegion.java:44)
        at org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:145)
        at org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion.java:113)
        at org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:296)
        at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:73)
        at org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:77)
        at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:73)
        at org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:86)
        at org.apache.activemq.broker.AbstractConnection.processAddConsumer(AbstractConnection.java:427)
        at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:295)
        at org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:201)
        at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:62)
        at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:97)
        at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:63)
        at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:114)
        at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
        at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:87)
        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:143)
        at java.lang.Thread.run(Thread.java:534)

and my suscriptors didn't received the message.


-- 
Javier Leyba
Barcelona - Spain
http://blog.leyba.com.ar