You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by yrkhanal <yr...@hotmail.com> on 2008/01/29 14:35:36 UTC

Clustering two servicemix container with one activemq message broker

Hi,
I am trying to cluster two servicemix containers using the one external
activemq message broker.
When I am starting the second container its giving this error message.Please
suggest.
C:\Net1\apache-servicemix-3.1.2>bin\servicemix
servicemix.bat: Ignoring predefined value for SERVICEMIX_HOME
Starting Apache ServiceMix ESB: 3.1.2

Loading Apache ServiceMix from servicemix.xml on the CLASSPATH
INFO  - JBIContainer                   - ServiceMix 3.1.2 JBI Container
(ServiceMix) is starting
INFO  - JBIContainer                   - For help or more informations
please see: http://incubator.apache.org/servicemix/
ERROR - JMSFlow                        - Failed to initialize JMSFlow
javax.jms.InvalidClientIDException: Broker: localhost - Client: ServiceMix
already connected from /127.0.0.1:2050
        at
org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:205)
        at
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:81)
        at
org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:72)
        at
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:81)
        at
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91)
        at
org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:657)
        at
org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:86)
        at
org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:125)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:281)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67)
        at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:134)
        at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:138)
        at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
        at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:185)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:172)
        at java.lang.Thread.run(Thread.java:595)
Caught: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'jbi' defined in class path resource
[servicemix.xml]: I
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'jbi' defined in class path resource [servicemix.xml]: Invocatio
Caused by: javax.jbi.JBIException: javax.jms.InvalidClientIDException:
Broker: localhost - Client: ServiceMix already connected from
/127.0.0.1:2050
        at
org.apache.servicemix.jbi.nmr.flow.jms.JMSFlow.init(JMSFlow.java:263)
        at
org.apache.servicemix.jbi.nmr.DefaultBroker.init(DefaultBroker.java:121)
        at
org.apache.servicemix.jbi.container.JBIContainer.init(JBIContainer.java:562)
        at
org.apache.servicemix.jbi.container.SpringJBIContainer.afterPropertiesSet(SpringJBIContainer.java:52)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1201)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1171)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
        at
org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:161)
        at
org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:51)
        at org.apache.servicemix.Main.main(Main.java:51)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
org.codehaus.classworlds.Launcher.launchStandard(Launcher.java:410)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:344)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:461)
Caused by: javax.jms.InvalidClientIDException: Broker: localhost - Client:
ServiceMix already connected from /127.0.0.1:2050
        at
org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:205)
        at
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:81)
        at
org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:72)
        at
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:81)
        at
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91)
        at
org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:657)
        at
org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:86)
        at
org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:125)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:281)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67)
        at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:134)
        at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:138)
        at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
        at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:185)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:172)
        at java.lang.Thread.run(Thread.java:595)
-- 
View this message in context: http://www.nabble.com/Clustering-two-servicemix-container-with-one-activemq-message-broker-tp15159498s12049p15159498.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Clustering two servicemix container with one activemq message broker

Posted by yrkhanal <yr...@hotmail.com>.
Thanks,
I figured out that and it worked.I mean i could start tow servicemix
instance in two containers .
Now if the client sends message to the servicemix what is the response
behaviour.I mean how will tow response back.
Also do I have to explicitly say flowName="jms" and specify url pateren as
well or is that the default.

Regards,
Yogaraj

Christian Schneider wrote:
> 
> Hi,
> 
> the problem is that your two containers have the same name. To 
> distingiush them you have to give them different names.
> 
> You can set this up in the servicemix.xml.
> 
> Best you look into the cluster example:
> <sm:container id="jbi" name="poller" ...
> <sm:container id="jbi" name="writer"  ...
> 
> Best regards
> 
> Christian
> 
> yrkhanal schrieb:
>> Hi,
>> I am trying to cluster two servicemix containers using the one external
>> activemq message broker.
>> When I am starting the second container its giving this error
>> message.Please
>> suggest.
>>
>> ERROR - JMSFlow                        - Failed to initialize JMSFlow
>> javax.jms.InvalidClientIDException: Broker: localhost - Client:
>> ServiceMix
>> already connected from /127.0.0.1:2050
>>   
> 
> 
> -- 
> 
> Christian Schneider
> ---
> http://www.liquid-reality.de
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Clustering-two-servicemix-container-with-one-activemq-message-broker-tp15159498s12049p15162286.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Clustering two servicemix container with one activemq message broker

Posted by Christian Schneider <ch...@die-schneider.net>.
Hi,

the problem is that your two containers have the same name. To 
distingiush them you have to give them different names.

You can set this up in the servicemix.xml.

Best you look into the cluster example:
<sm:container id="jbi" name="poller" ...
<sm:container id="jbi" name="writer"  ...

Best regards

Christian

yrkhanal schrieb:
> Hi,
> I am trying to cluster two servicemix containers using the one external
> activemq message broker.
> When I am starting the second container its giving this error message.Please
> suggest.
>
> ERROR - JMSFlow                        - Failed to initialize JMSFlow
> javax.jms.InvalidClientIDException: Broker: localhost - Client: ServiceMix
> already connected from /127.0.0.1:2050
>   


-- 

Christian Schneider
---
http://www.liquid-reality.de