You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Mike Gerdes <mi...@tu-harburg.de> on 2006/01/26 11:24:07 UTC

Setting up a cluster with servicemix

hi,

I have a small problem with servicemix that I haven't been able to solve for a
while now.
I want to set up a cluster for servicemix. The cluster should consist of two pcs
(pc1 and pc2). These two pcs should use one queue togather, for reliablity and
load balancing.
I want to try this with the jms-binding example, to start.

So now when I set the flowName to cluster I get the message that the object
can't be serialzised and then a lot of activemq error messages.
Also I don't know if I have to configure the cluster in the activemq.xml or in
the servicemix.xml and what the clustering in servicemix is doing.

When I take the flowName out of the serviemix.xml then the example is running
without a problem.

So my basic question is, how and where do I set up a servicemix cluster for
loadbalancing and reliablitiy?

Can anybody provide me a link or document with good instructions of how to
configure servicemix?

How does clustering works in servicemix? What happens when I change the
flowName?

Do I have to provide additional arguments to flowName?

I hope you can help with my problem and to understand servicemix, which I think
is a great tool.

cya and many thanks in advance

Mike


Re: Setting up a cluster with servicemix

Posted by Mike Gerdes <mi...@tu-harburg.de>.
As far as I see it, that is not the problem. I have tried it and nothing
changed. Anyway, from tests and a close look at the log files, I noticed that
the broker find each other and connect to each other. Even if there is this
warning message about no client id and no broker name warning message.

WARN - DemandForwardingBridge.serviceRemoteCommand(232) | Unexpected remote comm
and: ConnectionError {commandId=2, responseRequired=false, connectionId=null, ex
ception=javax.jms.InvalidClientIDException: No clientID specified for connection
 request}
INFO - DemandForwardingBridge.startBridge(176) | Network connection between vm:/
/peer-D0157782-2635-1138372467608-1-0#2 and tcp://D0157782:2645 has been establi
shed.

It looks like that the problem seems to be that the components of the two broker
don't register or something like that. When I call a service on pc1, I get the
error message that the service is not registered:

FilePoller.processFileAndDelete(193) | Failed to process file:
inbox\test-file.xml. Reason: javax.jbi.messaging.MessagingException: Could
not find route for exchange:
org.apache.servicemix.jbi.messaging.InOnlyImpl@717323 for service: null and
interface: null javax.jbi.messaging.MessagingException: Could not find route
for exchange: org.apache.servicemix.jbi.messaging.InOnlyImpl@717323 for
service: null and interface: null

So how do I have to configure the components in the servicemix.xml? I think it
must be some kind of an easy error on my side, because I didn't found how to
set up some thing like that.

In theorie it should work to read one file with one component connected to one
broker and then send it to a filewriter running on another broker or?

with greetings

mike

> Could you try replacing the name="pc2" attribute on the container with
>   sm:name="pc1"
> Same thing for pc1.
> The problem is that name is a reserved attribute for spring so that you
> must put the namespace to tell you want to set the name attribute on the
> container itself.
>
> Cheers,
> Guillaume Nodet

Re: Setting up a cluster with servicemix

Posted by Guillaume Nodet <gu...@worldonline.fr>.
Could you try replacing the name="pc2" attribute on the container with
  sm:name="pc1"
Same thing for pc1.
The problem is that name is a reserved attribute for spring so that you 
must put the namespace to tell you want to set the name attribute on the 
container itself.

Cheers,
Guillaume Nodet

Mike Gerdes wrote:

>Warning: Long post with many error logs.
>
>Ok I have now activated the stack log and will give also my serviemix.xml files.
>So I will use the file-binding example and distribute the services, just as an
>example.
>
>So I will creat two servicemix.xml files each with jms flow and one with the
>file poller and one with the file sender.
>
>servicemix1.xml:
>
><?xml version="1.0" encoding="UTF-8"?>
><beans xmlns="http://xbean.org/schemas/spring/1.0"
>	xmlns:spring="http://xbean.org/schemas/spring/1.0"
>	xmlns:sm="http://servicemix.apache.org/config/1.0"
>	xmlns:foo="http://servicemix.org/demo/">
>
>	<sm:container id="jbi" useMBeanServer="true" flowName="jms" name="pc2"
>		createMBeanServer="true" dumpStats="true" statsInterval="10">
>
>		<sm:activationSpecs>
>			<!-- Look for files in the inbox directory -->
>			<sm:activationSpec componentName="filePoller"
>				 endpoint="foo:filePoller" destinationEndpoint="foo:fileSender"
>service="foo:filePoller">
>				<sm:component>
>					<bean xmlns="http://xbean.org/schemas/spring/1.0"
>						class="org.apache.servicemix.components.file.FilePoller">
>						<property name="workManager" ref="workManager" />
>						<property name="file" value="inbox" />
>						<property name="period" value="1000" />
>					</bean>
>				</sm:component>
>			</sm:activationSpec>
>		</sm:activationSpecs>
>	</sm:container>
>
>	<!-- the work manager (thread pool) for this container -->
>	<bean id="workManager"
>		class="org.jencks.factory.WorkManagerFactoryBean">
>		<property name="threadPoolSize" value="30" />
>	</bean>
>
></beans>
>
>Here is my servicemix2.xml:
>
><?xml version="1.0" encoding="UTF-8"?>
><beans xmlns="http://xbean.org/schemas/spring/1.0"
>	xmlns:spring="http://xbean.org/schemas/spring/1.0"
>	xmlns:sm="http://servicemix.apache.org/config/1.0"
>	xmlns:foo="http://servicemix.org/demo/">
>
>	<!-- the JBI container -->
>	<sm:container id="jbi" useMBeanServer="true" flowName="jms" name="pc1"
>		createMBeanServer="true" dumpStats="true" statsInterval="10">
>
>		<sm:activationSpecs>
>
>			<!-- Write files to the outbox directory -->
>			<sm:activationSpec componentName="fileSender"
>				endpoint="foo:fileSender" service="foo:fileSender">
>				<sm:component>
>					<bean xmlns="http://xbean.org/schemas/spring/1.0"
>						class="org.apache.servicemix.components.file.FileWriter">
>						<property name="directory" value="outbox" />
>						<property name="marshaler">
>							<bean
>								class="org.apache.servicemix.components.util.DefaultFileMarshaler">
>								<property name="fileName">
>									<bean
>										class="org.apache.servicemix.expression.JaxenStringXPathExpression">
>										<constructor-arg
>											value="concat('sample_', /sample/@id, '.xml')" />
>									</bean>
>								</property>
>							</bean>
>						</property>
>					</bean>
>				</sm:component>
>			</sm:activationSpec>
>		</sm:activationSpecs>
>	</sm:container>
>	<!-- the work manager (thread pool) for this container -->
>	<bean id="workManager"
>		class="org.jencks.factory.WorkManagerFactoryBean">
>		<property name="threadPoolSize" value="30" />
>	</bean>
>
></beans>
>
>Ok when I lauch both they give the warn message that no broker name is set and
>that they have no clientid set. That happens always for every example I tried
>and even with modifications to some code.
>Another problem is that the services don't find each other and drop a warn
>message saying that they can route the service.
>
>Ok here are now the error logs. First for pc1:
>
>ServiceMix ESB: 3.0-SNAPSHOT
>
>Loading ServiceMix from file: .\servicemix.xml
>DEBUG - ManagementContext.findMBeanServer(621) | No mbean server found
>DEBUG - ManagementContext.findMBeanServer(626) | Creating mbean server
>DEBUG - ManagementContext.findMBeanServer(646) | Could not start naming service
>javax.management.MBeanException: Exception thrown in operation start
>	at
>com.sun.jmx.mbeanserver.StandardMetaDataImpl.invoke(StandardMetaDataImpl.java:435)
>	at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
>	at
>com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
>	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
>	at
>org.apache.servicemix.jbi.management.ManagementContext.findMBeanServer(ManagementContext.java:642)
>	at
>org.apache.servicemix.jbi.management.ManagementContext.init(ManagementContext.java:176)
>	at org.apache.servicemix.jbi.container.JBIContainer.init(JBIContainer.java:403)
>	at
>org.apache.servicemix.jbi.container.SpringJBIContainer.afterPropertiesSet(SpringJBIContainer.java:53)
>	at
>org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1058)
>	at
>org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363)
>	at
>org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
>	at
>org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
>	at
>org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
>	at
>org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:318)
>	at
>org.xbean.spring.context.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:149)
>	at
>org.xbean.spring.context.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:48)
>	at org.apache.servicemix.Main.main(Main.java:74)
>	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: java.rmi.server.ExportException: Port already in use: 1099; nested
>exception is:
>	java.net.BindException: Address already in use: JVM_Bind
>	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:243)
>	at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:178)
>	at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:382)
>	at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:116)
>	at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:180)
>	at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:92)
>	at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:78)
>	at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:186)
>	at mx4j.tools.naming.NamingService.start(NamingService.java:87)
>	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
>com.sun.jmx.mbeanserver.StandardMetaDataImpl.invoke(StandardMetaDataImpl.java:414)
>	... 23 more
>Caused by: java.net.BindException: Address already in use: JVM_Bind
>	at java.net.PlainSocketImpl.socketBind(Native Method)
>	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
>	at java.net.ServerSocket.bind(ServerSocket.java:319)
>	at java.net.ServerSocket.<init>(ServerSocket.java:185)
>	at java.net.ServerSocket.<init>(ServerSocket.java:97)
>	at
>sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMIDirectSocketFactory.java:27)
>	at
>sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMIMasterSocketFactory.java:333)
>	at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:622)
>	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:231)
>	... 36 more
>DEBUG - ManagementContext.findMBeanServer(653) | Failed to create local registry
>java.rmi.server.ExportException: Port already in use: 1099; nested exception is:
>	java.net.BindException: Address already in use: JVM_Bind
>	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:243)
>	at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:178)
>	at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:382)
>	at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:116)
>	at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:180)
>	at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:92)
>	at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:78)
>	at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:186)
>	at
>org.apache.servicemix.jbi.management.ManagementContext.findMBeanServer(ManagementContext.java:649)
>	at
>org.apache.servicemix.jbi.management.ManagementContext.init(ManagementContext.java:176)
>	at org.apache.servicemix.jbi.container.JBIContainer.init(JBIContainer.java:403)
>	at
>org.apache.servicemix.jbi.container.SpringJBIContainer.afterPropertiesSet(SpringJBIContainer.java:53)
>	at
>org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1058)
>	at
>org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363)
>	at
>org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
>	at
>org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
>	at
>org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
>	at
>org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:318)
>	at
>org.xbean.spring.context.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:149)
>	at
>org.xbean.spring.context.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:48)
>	at org.apache.servicemix.Main.main(Main.java:74)
>	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: java.net.BindException: Address already in use: JVM_Bind
>	at java.net.PlainSocketImpl.socketBind(Native Method)
>	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
>	at java.net.ServerSocket.bind(ServerSocket.java:319)
>	at java.net.ServerSocket.<init>(ServerSocket.java:185)
>	at java.net.ServerSocket.<init>(ServerSocket.java:97)
>	at
>sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMIDirectSocketFactory.java:27)
>	at
>sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMIMasterSocketFactory.java:333)
>	at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:622)
>	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:231)
>	... 27 more
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=org.apache.servicemix.jbi.management.ManagementContextMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.management.ManagementContext,name=pc2.ManagementContext
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=javax.jbi.management.LifeCycleMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.container.EnvironmentContext,name=pc2.EnvironmentContext
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=javax.jbi.management.LifeCycleMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.Registry,name=pc2.Registry
>INFO - JMSFlow.init(177) | pc2: Initializing jms flow
>INFO - BrokerService.getBroker(418) | ActiveMQ 4.0-SNAPSHOT JMS Message Broker
>(peer-D0157782-2158-1138366250428-1-0) is starting
>INFO - BrokerService.getBroker(420) | For help or more information please see:
>http://www.logicblaze.com
>INFO - TransportServerThreadSupport.start(52) | Listening for connections at:
>tcp://D0157782:2162
>INFO - TransportConnector.start(175) | Accepting connection on:
>tcp://D0157782:2162
>WARN - MulticastDiscoveryAgent.start(192) | brokerName not set
>INFO - BrokerService.start(350) | ActiveMQ JMS Message Broker
>(peer-D0157782-2158-1138366250428-1-0) started
>INFO - TransportConnector.start(175) | Accepting connection on:
>vm://peer-D0157782-2158-1138366250428-1-0
>INFO - NetworkConnector.onServiceAdd(100) | Establishing network connection
>between vm://peer-D0157782-2158-1138366250428-1-0?network=true and null at
>failover:tcp://D0157782:2162
>DEBUG - FailoverTransport.reconnect(385) | Waking up reconnect task
>INFO - DemandForwardingBridge.start(113) | Starting a network connection between
>vm://peer-D0157782-2158-1138366250428-1-0#2 and unconnected has been
>established.
>DEBUG - FailoverTransport.start(204) | Started.
>DEBUG - FailoverTransport$2.iterate(138) | Attempting connect to:
>tcp://D0157782:2162
>DEBUG - TcpTransport.run(132) | TCP consumer thread starting
>INFO - NetworkConnector.onServiceAdd(100) | Establishing network connection
>between vm://peer-D0157782-2158-1138366250428-1-0?network=true and null at
>failover:tcp://D0157782:2156
>DEBUG - FailoverTransport.reconnect(385) | Waking up reconnect task
>INFO - DemandForwardingBridge.start(113) | Starting a network connection between
>vm://peer-D0157782-2158-1138366250428-1-0#4 and unconnected has been
>established.
>DEBUG - FailoverTransport.start(204) | Started.
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Connection
>DEBUG - FailoverTransport$2.iterate(138) | Attempting connect to:
>tcp://D0157782:2156
>DEBUG - FailoverTransport$2.iterate(144) | Connection established
>DEBUG - TcpTransport.run(132) | TCP consumer thread starting
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Topic
>DEBUG - TcpTransport.run(132) | TCP consumer thread starting
>INFO - DemandForwardingBridge.serviceRemoteCommand(220) | Disconnecting loop
>back connection.
>DEBUG - FailoverTransport.stop(217) | Stopped.
>DEBUG - FailoverTransport$2.iterate(144) | Connection established
>DEBUG - TcpTransport.run(132) | TCP consumer thread starting
>DEBUG - AbstractConnection.serviceException(174) | Async error occurred:
>javax.jms.InvalidClientIDException: No clientID specified for connection
>request
>javax.jms.InvalidClientIDException: No clientID specified for connection request
>	at
>org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:144)
>	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
>	at
>org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:66)
>	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
>	at
>org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:74)
>	at
>org.apache.activemq.broker.AbstractConnection.processAddConnection(AbstractConnection.java:479)
>	at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:106)
>	at
>org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:190)
>	at
>org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:60)
>	at
>org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:82)
>	at
>org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>	at
>org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:105)
>	at
>org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:77)
>	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>	at java.lang.Thread.run(Thread.java:595)
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.pc2
>DEBUG - AbstractConnection.serviceException(174) | Async error occurred:
>javax.jms.InvalidClientIDException: No clientID specified for connection
>request
>javax.jms.InvalidClientIDException: No clientID specified for connection request
>	at
>org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:144)
>	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
>	at
>org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:66)
>	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
>	at
>org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:74)
>	at
>org.apache.activemq.broker.AbstractConnection.processAddConnection(AbstractConnection.java:479)
>	at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:106)
>	at
>org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:190)
>	at
>org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:60)
>	at
>org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:82)
>	at
>org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>	at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:75)
>	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:44)
>	at
>org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:54)
>	at
>org.apache.activemq.network.DemandForwardingBridge.startBridge(DemandForwardingBridge.java:158)
>	at
>org.apache.activemq.network.DemandForwardingBridge$3.run(DemandForwardingBridge.java:142)
>WARN - DemandForwardingBridge.serviceLocalCommand(387) | Unexpected local
>command: ConnectionError {commandId=2, responseRequired=false,
>connectionId=null, exception=javax.jms.InvalidClientIDException: No clientID
>specified for connection request}
>INFO - DemandForwardingBridge.startBridge(176) | Network connection between
>vm://peer-D0157782-2158-1138366250428-1-0#4 and tcp://D0157782:2156 has been
>established.
>WARN - DemandForwardingBridge.serviceRemoteCommand(232) | Unexpected remote
>command: ConnectionError {commandId=2, responseRequired=false,
>connectionId=null, exception=javax.jms.InvalidClientIDException: No clientID
>specified for connection request}
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Producer.Topic.org.apache.servicemix.JMSFlow
>INFO - JBIContainer.activateComponent(884) | Activating component for:
>[container=pc2,name=#SubscriptionManager#,id=#SubscriptionManager#] with
>service: null component:
>org.apache.servicemix.jbi.nmr.SubscriptionManager@19fe451
>DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
>sub on vm://peer-D0157782-2158-1138366250428-1-0#4 from tcp://D0157782:2156 on 
>ConsumerInfo {commandId=11, responseRequired=true,
>consumerId=ID:D0157782-2151-1138366237650-5:0:1:2,
>destination=queue://org.apache.servicemix.inbound.fileSender,
>prefetchSize=1000, browser=false, dispatchAsync=true, selector=null,
>subcriptionName=null, noLocal=false, exclusive=false, retroactive=false,
>priority=0, brokerPath=null}
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.fileSender
>DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
>sub on vm://peer-D0157782-2158-1138366250428-1-0#4 from tcp://D0157782:2156 on 
>ConsumerInfo {commandId=8, responseRequired=true,
>consumerId=ID:D0157782-2151-1138366237650-5:0:2:1,
>destination=topic://org.apache.servicemix.JMSFlow, prefetchSize=32766,
>browser=false, dispatchAsync=true, selector=null, subcriptionName=null,
>noLocal=true, exclusive=false, retroactive=false, priority=0, brokerPath=null}
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Consumer.Topic.org.apache.servicemix.JMSFlow
>DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
>sub on vm://peer-D0157782-2158-1138366250428-1-0#4 from tcp://D0157782:2156 on 
>ConsumerInfo {commandId=4, responseRequired=true,
>consumerId=ID:D0157782-2151-1138366237650-5:0:1:1,
>destination=queue://org.apache.servicemix.inbound.pc1, prefetchSize=1000,
>browser=false, dispatchAsync=true, selector=null, subcriptionName=null,
>noLocal=false, exclusive=false, retroactive=false, priority=0, brokerPath=null}
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.pc1
>DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
>sub on vm://peer-D0157782-2158-1138366250428-1-0#4 from tcp://D0157782:2156 on 
>ConsumerInfo {commandId=12, responseRequired=true,
>consumerId=ID:D0157782-2151-1138366237650-5:0:1:3,
>destination=queue://org.apache.servicemix.inbound.#SubscriptionManager#,
>prefetchSize=1000, browser=false, dispatchAsync=true, selector=null,
>subcriptionName=null, noLocal=false, exclusive=false, retroactive=false,
>priority=0, brokerPath=null}
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.#SubscriptionManager#
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=javax.jbi.management.LifeCycleMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.nmr.Broker,name=pc2.Broker
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service:
>class=org.apache.servicemix.jbi.framework.FrameworkInstallationService,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.InstallationService,name=pc2.InstallationService
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=javax.jbi.management.DeploymentServiceMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.DeploymentService,name=pc2.DeploymentService
>DEBUG - AutoDeploymentService.readState(571) | State file doesn't exist:
>D:\servicemix\examples\test\.\rootDir\pc2\install\.state.xml
>DEBUG - AutoDeploymentService.readState(571) | State file doesn't exist:
>D:\servicemix\examples\test\.\rootDir\pc2\deploy\.state.xml
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=javax.jbi.management.LifeCycleMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.AutoDeploymentService,name=pc2.AutoDeploymentService
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=javax.jbi.management.LifeCycleMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.container.JBIContainer,name=pc2
>INFO - JBIContainer.init(415) | ServiceMix JBI Container
>(http://servicemix.org/) name: pc2 running version: 3.0-SNAPSHOT
>INFO - JBIContainer.activateComponent(884) | Activating component for:
>[container=pc2,name=filePoller,id=filePoller] with service:
>{http://servicemix.org/demo/}filePoller component:
>org.apache.servicemix.components.file.FilePoller@1827d1
>INFO - ComponentContextImpl.activateEndpoint(132) | Component: filePoller
>activated endpoint: {http://servicemix.org/demo/}filePoller : foo:filePoller
>DEBUG - EndpointRegistry.retrieveInterfacesFromDescription(109) | Endpoint
>ServiceEndpoint[service={http://servicemix.org/demo/}filePoller,endpoint=foo:filePoller]
>has no service description
>INFO - JMSFlow.start(219) | pc2: Starting jms flow
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.filePoller
>DEBUG - FilePoller.pollFileOrDirectory(151) | Polling directory inbox
>DEBUG - AutoDeploymentService.monitorDirectory(491) | Monitoring directory
>D:\servicemix\examples\test\.\rootDir\pc2\install for new or modified archives
>DEBUG - AutoDeploymentService.monitorDirectory(491) | Monitoring directory
>D:\servicemix\examples\test\.\rootDir\pc2\deploy for new or modified archives
>DEBUG - FilePoller.pollFileOrDirectory(151) | Polling directory inbox
>DEBUG - FilePoller.pollFile(165) | Scheduling file inbox\test-file.xml for
>processing
>DEBUG - FilePoller.processFileAndDelete(181) | Processing file
>inbox\test-file.xml
>WARN - DeliveryChannelImpl.createExchangeFactory(194) | Could not find
>destination endpoint for filePoller service(null) with endpointName
>foo:fileSender
>DEBUG - Broker.resolveAddress(369) | Routing exchange
>org.apache.servicemix.jbi.messaging.InOnlyImpl@717323 to: null
>ERROR - FilePoller.processFileAndDelete(193) | Failed to process file:
>inbox\test-file.xml. Reason: javax.jbi.messaging.MessagingException: Could not
>find route for exchange: org.apache.servicemix.jbi.messaging.InOnlyImpl@717323
>for service: null and interface: null
>javax.jbi.messaging.MessagingException: Could not find route for exchange:
>org.apache.servicemix.jbi.messaging.InOnlyImpl@717323 for service: null and
>interface: null
>	at org.apache.servicemix.jbi.nmr.Broker.sendExchangePacket(Broker.java:299)
>	at
>org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:580)
>	at
>org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:362)
>	at
>org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:436)
>	at
>org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:413)
>	at
>org.apache.servicemix.components.file.FilePoller.processFile(FilePoller.java:207)
>	at
>org.apache.servicemix.components.file.FilePoller.processFileAndDelete(FilePoller.java:184)
>	at org.apache.servicemix.components.file.FilePoller$1.run(FilePoller.java:169)
>	at org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
>	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
>	at java.lang.Thread.run(Thread.java:595)
>
>Here is the log for pc2:
>
>ServiceMix ESB: 3.0-SNAPSHOT
>
>Loading ServiceMix from file: .\servicemix2.xml
>DEBUG - ManagementContext.findMBeanServer(621) | No mbean server found
>DEBUG - ManagementContext.findMBeanServer(626) | Creating mbean server
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=org.apache.servicemix.jbi.management.ManagementContextMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.management.ManagementContext,name=pc1.ManagementContext
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=javax.jbi.management.LifeCycleMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.container.EnvironmentContext,name=pc1.EnvironmentContext
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=javax.jbi.management.LifeCycleMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.Registry,name=pc1.Registry
>INFO - JMSFlow.init(177) | pc1: Initializing jms flow
>INFO - BrokerService.getBroker(418) | ActiveMQ 4.0-SNAPSHOT JMS Message Broker
>(peer-D0157782-2151-1138366237650-1-0) is starting
>INFO - BrokerService.getBroker(420) | For help or more information please see:
>http://www.logicblaze.com
>INFO - TransportServerThreadSupport.start(52) | Listening for connections at:
>tcp://D0157782:2156
>INFO - TransportConnector.start(175) | Accepting connection on:
>tcp://D0157782:2156
>WARN - MulticastDiscoveryAgent.start(192) | brokerName not set
>INFO - BrokerService.start(350) | ActiveMQ JMS Message Broker
>(peer-D0157782-2151-1138366237650-1-0) started
>INFO - TransportConnector.start(175) | Accepting connection on:
>vm://peer-D0157782-2151-1138366237650-1-0
>INFO - NetworkConnector.onServiceAdd(100) | Establishing network connection
>between vm://peer-D0157782-2151-1138366237650-1-0?network=true and null at
>failover:tcp://D0157782:2156
>DEBUG - FailoverTransport.reconnect(385) | Waking up reconnect task
>INFO - DemandForwardingBridge.start(113) | Starting a network connection between
>vm://peer-D0157782-2151-1138366237650-1-0#2 and unconnected has been
>established.
>DEBUG - FailoverTransport$2.iterate(138) | Attempting connect to:
>tcp://D0157782:2156
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Connection
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Topic
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.pc1
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Producer.Topic.org.apache.servicemix.JMSFlow
>INFO - JBIContainer.activateComponent(884) | Activating component for:
>[container=pc1,name=#SubscriptionManager#,id=#SubscriptionManager#] with
>service: null component:
>org.apache.servicemix.jbi.nmr.SubscriptionManager@1c297a3
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=javax.jbi.management.LifeCycleMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.nmr.Broker,name=pc1.Broker
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service:
>class=org.apache.servicemix.jbi.framework.FrameworkInstallationService,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.InstallationService,name=pc1.InstallationService
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=javax.jbi.management.DeploymentServiceMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.DeploymentService,name=pc1.DeploymentService
>DEBUG - AutoDeploymentService.readState(571) | State file doesn't exist:
>D:\servicemix\examples\test\.\rootDir\pc1\install\.state.xml
>DEBUG - AutoDeploymentService.readState(571) | State file doesn't exist:
>D:\servicemix\examples\test\.\rootDir\pc1\deploy\.state.xml
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=javax.jbi.management.LifeCycleMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.AutoDeploymentService,name=pc1.AutoDeploymentService
>DEBUG - ManagementContext.registerSystemService(545) | Registering system
>service: class=javax.jbi.management.LifeCycleMBean,
>name=org.apache.servicemix:type=org.apache.servicemix.jbi.container.JBIContainer,name=pc1
>DEBUG - FailoverTransport$2.iterate(144) | Connection established
>DEBUG - TcpTransport.run(132) | TCP consumer thread starting
>DEBUG - FailoverTransport.start(204) | Started.
>INFO - JBIContainer.init(415) | ServiceMix JBI Container
>(http://servicemix.org/) name: pc1 running version: 3.0-SNAPSHOT
>DEBUG - TcpTransport.run(132) | TCP consumer thread starting
>INFO - JBIContainer.activateComponent(884) | Activating component for:
>[container=pc1,name=fileSender,id=fileSender] with service:
>{http://servicemix.org/demo/}fileSender component:
>org.apache.servicemix.components.file.FileWriter@c6f734
>INFO - ComponentContextImpl.activateEndpoint(132) | Component: fileSender
>activated endpoint: {http://servicemix.org/demo/}fileSender : foo:fileSender
>DEBUG - EndpointRegistry.retrieveInterfacesFromDescription(109) | Endpoint
>ServiceEndpoint[service={http://servicemix.org/demo/}fileSender,endpoint=foo:fileSender]
>has no service description
>INFO - DemandForwardingBridge.serviceRemoteCommand(220) | Disconnecting loop
>back connection.
>DEBUG - FailoverTransport.stop(217) | Stopped.
>INFO - JMSFlow.start(219) | pc1: Starting jms flow
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Consumer.Topic.org.apache.servicemix.JMSFlow
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.fileSender
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.#SubscriptionManager#
>DEBUG - AutoDeploymentService.monitorDirectory(491) | Monitoring directory
>D:\servicemix\examples\test\.\rootDir\pc1\install for new or modified archives
>DEBUG - AutoDeploymentService.monitorDirectory(491) | Monitoring directory
>D:\servicemix\examples\test\.\rootDir\pc1\deploy for new or modified archives
>INFO - NetworkConnector.onServiceAdd(100) | Establishing network connection
>between vm://peer-D0157782-2151-1138366237650-1-0?network=true and null at
>failover:tcp://D0157782:2162
>DEBUG - FailoverTransport.reconnect(385) | Waking up reconnect task
>INFO - DemandForwardingBridge.start(113) | Starting a network connection between
>vm://peer-D0157782-2151-1138366237650-1-0#4 and unconnected has been
>established.
>DEBUG - FailoverTransport.start(204) | Started.
>DEBUG - FailoverTransport$2.iterate(138) | Attempting connect to:
>tcp://D0157782:2162
>DEBUG - FailoverTransport$2.iterate(144) | Connection established
>DEBUG - TcpTransport.run(132) | TCP consumer thread starting
>DEBUG - AbstractConnection.serviceException(174) | Async error occurred:
>javax.jms.InvalidClientIDException: No clientID specified for connection
>request
>javax.jms.InvalidClientIDException: No clientID specified for connection request
>	at
>org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:144)
>	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
>	at
>org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:66)
>	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
>	at
>org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:74)
>	at
>org.apache.activemq.broker.AbstractConnection.processAddConnection(AbstractConnection.java:479)
>	at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:106)
>	at
>org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:190)
>	at
>org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:60)
>	at
>org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:82)
>	at
>org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>	at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:75)
>	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:44)
>	at
>org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:54)
>	at
>org.apache.activemq.network.DemandForwardingBridge.startBridge(DemandForwardingBridge.java:158)
>	at
>org.apache.activemq.network.DemandForwardingBridge$3.run(DemandForwardingBridge.java:142)
>WARN - DemandForwardingBridge.serviceLocalCommand(387) | Unexpected local
>command: ConnectionError {commandId=2, responseRequired=false,
>connectionId=null, exception=javax.jms.InvalidClientIDException: No clientID
>specified for connection request}
>DEBUG - TcpTransport.run(132) | TCP consumer thread starting
>INFO - DemandForwardingBridge.startBridge(176) | Network connection between
>vm://peer-D0157782-2151-1138366237650-1-0#4 and tcp://D0157782:2162 has been
>established.
>WARN - DemandForwardingBridge.serviceRemoteCommand(232) | Unexpected remote
>command: ConnectionError {commandId=2, responseRequired=false,
>connectionId=null, exception=javax.jms.InvalidClientIDException: No clientID
>specified for connection request}
>DEBUG - AbstractConnection.serviceException(174) | Async error occurred:
>javax.jms.InvalidClientIDException: No clientID specified for connection
>request
>javax.jms.InvalidClientIDException: No clientID specified for connection request
>	at
>org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:144)
>	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
>	at
>org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:66)
>	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
>	at
>org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:74)
>	at
>org.apache.activemq.broker.AbstractConnection.processAddConnection(AbstractConnection.java:479)
>	at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:106)
>	at
>org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:190)
>	at
>org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:60)
>	at
>org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:82)
>	at
>org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>	at
>org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:105)
>	at
>org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:77)
>	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
>	at java.lang.Thread.run(Thread.java:595)
>DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
>sub on vm://peer-D0157782-2151-1138366237650-1-0#4 from tcp://D0157782:2162 on 
>ConsumerInfo {commandId=4, responseRequired=true,
>consumerId=ID:D0157782-2158-1138366250428-5:0:1:1,
>destination=queue://org.apache.servicemix.inbound.pc2, prefetchSize=1000,
>browser=false, dispatchAsync=true, selector=null, subcriptionName=null,
>noLocal=false, exclusive=false, retroactive=false, priority=0, brokerPath=null}
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.pc2
>DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
>sub on vm://peer-D0157782-2151-1138366237650-1-0#4 from tcp://D0157782:2162 on 
>ConsumerInfo {commandId=8, responseRequired=true,
>consumerId=ID:D0157782-2158-1138366250428-5:0:2:1,
>destination=topic://org.apache.servicemix.JMSFlow, prefetchSize=32766,
>browser=false, dispatchAsync=true, selector=null, subcriptionName=null,
>noLocal=true, exclusive=false, retroactive=false, priority=0, brokerPath=null}
>DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
>sub on vm://peer-D0157782-2151-1138366237650-1-0#4 from tcp://D0157782:2162 on 
>ConsumerInfo {commandId=12, responseRequired=true,
>consumerId=ID:D0157782-2158-1138366250428-5:0:1:2,
>destination=queue://org.apache.servicemix.inbound.filePoller,
>prefetchSize=1000, browser=false, dispatchAsync=true, selector=null,
>subcriptionName=null, noLocal=false, exclusive=false, retroactive=false,
>priority=0, brokerPath=null}
>DEBUG - AbstractRegion.addDestination(75) | Adding destination:
>topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.filePoller
>DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
>sub on vm://peer-D0157782-2151-1138366237650-1-0#4 from tcp://D0157782:2162 on 
>ConsumerInfo {commandId=13, responseRequired=true,
>consumerId=ID:D0157782-2158-1138366250428-5:0:1:3,
>destination=queue://org.apache.servicemix.inbound.#SubscriptionManager#,
>prefetchSize=1000, browser=false, dispatchAsync=true, selector=null,
>subcriptionName=null, noLocal=false, exclusive=false, retroactive=false,
>priority=0, brokerPath=null}
>DEBUG - AutoDeploymentService.monitorDirectory(491) | Monitoring directory
>D:\servicemix\examples\test\.\rootDir\pc1\install for new or modified archives
>DEBUG - AutoDeploymentService.monitorDirectory(491) | Monitoring directory
>D:\servicemix\examples\test\.\rootDir\pc1\deploy for new or modified archives
>
>
>
>  
>


Re: Setting up a cluster with servicemix

Posted by Mike Gerdes <mi...@tu-harburg.de>.
Warning: Long post with many error logs.

Ok I have now activated the stack log and will give also my serviemix.xml files.
So I will use the file-binding example and distribute the services, just as an
example.

So I will creat two servicemix.xml files each with jms flow and one with the
file poller and one with the file sender.

servicemix1.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xbean.org/schemas/spring/1.0"
	xmlns:spring="http://xbean.org/schemas/spring/1.0"
	xmlns:sm="http://servicemix.apache.org/config/1.0"
	xmlns:foo="http://servicemix.org/demo/">

	<sm:container id="jbi" useMBeanServer="true" flowName="jms" name="pc2"
		createMBeanServer="true" dumpStats="true" statsInterval="10">

		<sm:activationSpecs>
			<!-- Look for files in the inbox directory -->
			<sm:activationSpec componentName="filePoller"
				 endpoint="foo:filePoller" destinationEndpoint="foo:fileSender"
service="foo:filePoller">
				<sm:component>
					<bean xmlns="http://xbean.org/schemas/spring/1.0"
						class="org.apache.servicemix.components.file.FilePoller">
						<property name="workManager" ref="workManager" />
						<property name="file" value="inbox" />
						<property name="period" value="1000" />
					</bean>
				</sm:component>
			</sm:activationSpec>
		</sm:activationSpecs>
	</sm:container>

	<!-- the work manager (thread pool) for this container -->
	<bean id="workManager"
		class="org.jencks.factory.WorkManagerFactoryBean">
		<property name="threadPoolSize" value="30" />
	</bean>

</beans>

Here is my servicemix2.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xbean.org/schemas/spring/1.0"
	xmlns:spring="http://xbean.org/schemas/spring/1.0"
	xmlns:sm="http://servicemix.apache.org/config/1.0"
	xmlns:foo="http://servicemix.org/demo/">

	<!-- the JBI container -->
	<sm:container id="jbi" useMBeanServer="true" flowName="jms" name="pc1"
		createMBeanServer="true" dumpStats="true" statsInterval="10">

		<sm:activationSpecs>

			<!-- Write files to the outbox directory -->
			<sm:activationSpec componentName="fileSender"
				endpoint="foo:fileSender" service="foo:fileSender">
				<sm:component>
					<bean xmlns="http://xbean.org/schemas/spring/1.0"
						class="org.apache.servicemix.components.file.FileWriter">
						<property name="directory" value="outbox" />
						<property name="marshaler">
							<bean
								class="org.apache.servicemix.components.util.DefaultFileMarshaler">
								<property name="fileName">
									<bean
										class="org.apache.servicemix.expression.JaxenStringXPathExpression">
										<constructor-arg
											value="concat('sample_', /sample/@id, '.xml')" />
									</bean>
								</property>
							</bean>
						</property>
					</bean>
				</sm:component>
			</sm:activationSpec>
		</sm:activationSpecs>
	</sm:container>
	<!-- the work manager (thread pool) for this container -->
	<bean id="workManager"
		class="org.jencks.factory.WorkManagerFactoryBean">
		<property name="threadPoolSize" value="30" />
	</bean>

</beans>

Ok when I lauch both they give the warn message that no broker name is set and
that they have no clientid set. That happens always for every example I tried
and even with modifications to some code.
Another problem is that the services don't find each other and drop a warn
message saying that they can route the service.

Ok here are now the error logs. First for pc1:

ServiceMix ESB: 3.0-SNAPSHOT

Loading ServiceMix from file: .\servicemix.xml
DEBUG - ManagementContext.findMBeanServer(621) | No mbean server found
DEBUG - ManagementContext.findMBeanServer(626) | Creating mbean server
DEBUG - ManagementContext.findMBeanServer(646) | Could not start naming service
javax.management.MBeanException: Exception thrown in operation start
	at
com.sun.jmx.mbeanserver.StandardMetaDataImpl.invoke(StandardMetaDataImpl.java:435)
	at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
	at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
	at
org.apache.servicemix.jbi.management.ManagementContext.findMBeanServer(ManagementContext.java:642)
	at
org.apache.servicemix.jbi.management.ManagementContext.init(ManagementContext.java:176)
	at org.apache.servicemix.jbi.container.JBIContainer.init(JBIContainer.java:403)
	at
org.apache.servicemix.jbi.container.SpringJBIContainer.afterPropertiesSet(SpringJBIContainer.java:53)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1058)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363)
	at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
	at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
	at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
	at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:318)
	at
org.xbean.spring.context.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:149)
	at
org.xbean.spring.context.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:48)
	at org.apache.servicemix.Main.main(Main.java:74)
	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: java.rmi.server.ExportException: Port already in use: 1099; nested
exception is:
	java.net.BindException: Address already in use: JVM_Bind
	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:243)
	at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:178)
	at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:382)
	at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:116)
	at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:180)
	at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:92)
	at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:78)
	at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:186)
	at mx4j.tools.naming.NamingService.start(NamingService.java:87)
	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
com.sun.jmx.mbeanserver.StandardMetaDataImpl.invoke(StandardMetaDataImpl.java:414)
	... 23 more
Caused by: java.net.BindException: Address already in use: JVM_Bind
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
	at java.net.ServerSocket.bind(ServerSocket.java:319)
	at java.net.ServerSocket.<init>(ServerSocket.java:185)
	at java.net.ServerSocket.<init>(ServerSocket.java:97)
	at
sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMIDirectSocketFactory.java:27)
	at
sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMIMasterSocketFactory.java:333)
	at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:622)
	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:231)
	... 36 more
DEBUG - ManagementContext.findMBeanServer(653) | Failed to create local registry
java.rmi.server.ExportException: Port already in use: 1099; nested exception is:
	java.net.BindException: Address already in use: JVM_Bind
	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:243)
	at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:178)
	at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:382)
	at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:116)
	at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:180)
	at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:92)
	at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:78)
	at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:186)
	at
org.apache.servicemix.jbi.management.ManagementContext.findMBeanServer(ManagementContext.java:649)
	at
org.apache.servicemix.jbi.management.ManagementContext.init(ManagementContext.java:176)
	at org.apache.servicemix.jbi.container.JBIContainer.init(JBIContainer.java:403)
	at
org.apache.servicemix.jbi.container.SpringJBIContainer.afterPropertiesSet(SpringJBIContainer.java:53)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1058)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363)
	at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
	at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
	at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
	at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:318)
	at
org.xbean.spring.context.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:149)
	at
org.xbean.spring.context.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:48)
	at org.apache.servicemix.Main.main(Main.java:74)
	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: java.net.BindException: Address already in use: JVM_Bind
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
	at java.net.ServerSocket.bind(ServerSocket.java:319)
	at java.net.ServerSocket.<init>(ServerSocket.java:185)
	at java.net.ServerSocket.<init>(ServerSocket.java:97)
	at
sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMIDirectSocketFactory.java:27)
	at
sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMIMasterSocketFactory.java:333)
	at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:622)
	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:231)
	... 27 more
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=org.apache.servicemix.jbi.management.ManagementContextMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.management.ManagementContext,name=pc2.ManagementContext
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=javax.jbi.management.LifeCycleMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.container.EnvironmentContext,name=pc2.EnvironmentContext
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=javax.jbi.management.LifeCycleMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.Registry,name=pc2.Registry
INFO - JMSFlow.init(177) | pc2: Initializing jms flow
INFO - BrokerService.getBroker(418) | ActiveMQ 4.0-SNAPSHOT JMS Message Broker
(peer-D0157782-2158-1138366250428-1-0) is starting
INFO - BrokerService.getBroker(420) | For help or more information please see:
http://www.logicblaze.com
INFO - TransportServerThreadSupport.start(52) | Listening for connections at:
tcp://D0157782:2162
INFO - TransportConnector.start(175) | Accepting connection on:
tcp://D0157782:2162
WARN - MulticastDiscoveryAgent.start(192) | brokerName not set
INFO - BrokerService.start(350) | ActiveMQ JMS Message Broker
(peer-D0157782-2158-1138366250428-1-0) started
INFO - TransportConnector.start(175) | Accepting connection on:
vm://peer-D0157782-2158-1138366250428-1-0
INFO - NetworkConnector.onServiceAdd(100) | Establishing network connection
between vm://peer-D0157782-2158-1138366250428-1-0?network=true and null at
failover:tcp://D0157782:2162
DEBUG - FailoverTransport.reconnect(385) | Waking up reconnect task
INFO - DemandForwardingBridge.start(113) | Starting a network connection between
vm://peer-D0157782-2158-1138366250428-1-0#2 and unconnected has been
established.
DEBUG - FailoverTransport.start(204) | Started.
DEBUG - FailoverTransport$2.iterate(138) | Attempting connect to:
tcp://D0157782:2162
DEBUG - TcpTransport.run(132) | TCP consumer thread starting
INFO - NetworkConnector.onServiceAdd(100) | Establishing network connection
between vm://peer-D0157782-2158-1138366250428-1-0?network=true and null at
failover:tcp://D0157782:2156
DEBUG - FailoverTransport.reconnect(385) | Waking up reconnect task
INFO - DemandForwardingBridge.start(113) | Starting a network connection between
vm://peer-D0157782-2158-1138366250428-1-0#4 and unconnected has been
established.
DEBUG - FailoverTransport.start(204) | Started.
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Connection
DEBUG - FailoverTransport$2.iterate(138) | Attempting connect to:
tcp://D0157782:2156
DEBUG - FailoverTransport$2.iterate(144) | Connection established
DEBUG - TcpTransport.run(132) | TCP consumer thread starting
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Topic
DEBUG - TcpTransport.run(132) | TCP consumer thread starting
INFO - DemandForwardingBridge.serviceRemoteCommand(220) | Disconnecting loop
back connection.
DEBUG - FailoverTransport.stop(217) | Stopped.
DEBUG - FailoverTransport$2.iterate(144) | Connection established
DEBUG - TcpTransport.run(132) | TCP consumer thread starting
DEBUG - AbstractConnection.serviceException(174) | Async error occurred:
javax.jms.InvalidClientIDException: No clientID specified for connection
request
javax.jms.InvalidClientIDException: No clientID specified for connection request
	at
org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:144)
	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
	at
org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:66)
	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
	at
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:74)
	at
org.apache.activemq.broker.AbstractConnection.processAddConnection(AbstractConnection.java:479)
	at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:106)
	at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:190)
	at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:60)
	at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:82)
	at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
	at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:105)
	at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:77)
	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
	at java.lang.Thread.run(Thread.java:595)
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.pc2
DEBUG - AbstractConnection.serviceException(174) | Async error occurred:
javax.jms.InvalidClientIDException: No clientID specified for connection
request
javax.jms.InvalidClientIDException: No clientID specified for connection request
	at
org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:144)
	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
	at
org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:66)
	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
	at
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:74)
	at
org.apache.activemq.broker.AbstractConnection.processAddConnection(AbstractConnection.java:479)
	at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:106)
	at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:190)
	at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:60)
	at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:82)
	at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
	at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:75)
	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:44)
	at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:54)
	at
org.apache.activemq.network.DemandForwardingBridge.startBridge(DemandForwardingBridge.java:158)
	at
org.apache.activemq.network.DemandForwardingBridge$3.run(DemandForwardingBridge.java:142)
WARN - DemandForwardingBridge.serviceLocalCommand(387) | Unexpected local
command: ConnectionError {commandId=2, responseRequired=false,
connectionId=null, exception=javax.jms.InvalidClientIDException: No clientID
specified for connection request}
INFO - DemandForwardingBridge.startBridge(176) | Network connection between
vm://peer-D0157782-2158-1138366250428-1-0#4 and tcp://D0157782:2156 has been
established.
WARN - DemandForwardingBridge.serviceRemoteCommand(232) | Unexpected remote
command: ConnectionError {commandId=2, responseRequired=false,
connectionId=null, exception=javax.jms.InvalidClientIDException: No clientID
specified for connection request}
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Producer.Topic.org.apache.servicemix.JMSFlow
INFO - JBIContainer.activateComponent(884) | Activating component for:
[container=pc2,name=#SubscriptionManager#,id=#SubscriptionManager#] with
service: null component:
org.apache.servicemix.jbi.nmr.SubscriptionManager@19fe451
DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
sub on vm://peer-D0157782-2158-1138366250428-1-0#4 from tcp://D0157782:2156 on 
ConsumerInfo {commandId=11, responseRequired=true,
consumerId=ID:D0157782-2151-1138366237650-5:0:1:2,
destination=queue://org.apache.servicemix.inbound.fileSender,
prefetchSize=1000, browser=false, dispatchAsync=true, selector=null,
subcriptionName=null, noLocal=false, exclusive=false, retroactive=false,
priority=0, brokerPath=null}
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.fileSender
DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
sub on vm://peer-D0157782-2158-1138366250428-1-0#4 from tcp://D0157782:2156 on 
ConsumerInfo {commandId=8, responseRequired=true,
consumerId=ID:D0157782-2151-1138366237650-5:0:2:1,
destination=topic://org.apache.servicemix.JMSFlow, prefetchSize=32766,
browser=false, dispatchAsync=true, selector=null, subcriptionName=null,
noLocal=true, exclusive=false, retroactive=false, priority=0, brokerPath=null}
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Consumer.Topic.org.apache.servicemix.JMSFlow
DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
sub on vm://peer-D0157782-2158-1138366250428-1-0#4 from tcp://D0157782:2156 on 
ConsumerInfo {commandId=4, responseRequired=true,
consumerId=ID:D0157782-2151-1138366237650-5:0:1:1,
destination=queue://org.apache.servicemix.inbound.pc1, prefetchSize=1000,
browser=false, dispatchAsync=true, selector=null, subcriptionName=null,
noLocal=false, exclusive=false, retroactive=false, priority=0, brokerPath=null}
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.pc1
DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
sub on vm://peer-D0157782-2158-1138366250428-1-0#4 from tcp://D0157782:2156 on 
ConsumerInfo {commandId=12, responseRequired=true,
consumerId=ID:D0157782-2151-1138366237650-5:0:1:3,
destination=queue://org.apache.servicemix.inbound.#SubscriptionManager#,
prefetchSize=1000, browser=false, dispatchAsync=true, selector=null,
subcriptionName=null, noLocal=false, exclusive=false, retroactive=false,
priority=0, brokerPath=null}
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.#SubscriptionManager#
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=javax.jbi.management.LifeCycleMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.nmr.Broker,name=pc2.Broker
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service:
class=org.apache.servicemix.jbi.framework.FrameworkInstallationService,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.InstallationService,name=pc2.InstallationService
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=javax.jbi.management.DeploymentServiceMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.DeploymentService,name=pc2.DeploymentService
DEBUG - AutoDeploymentService.readState(571) | State file doesn't exist:
D:\servicemix\examples\test\.\rootDir\pc2\install\.state.xml
DEBUG - AutoDeploymentService.readState(571) | State file doesn't exist:
D:\servicemix\examples\test\.\rootDir\pc2\deploy\.state.xml
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=javax.jbi.management.LifeCycleMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.AutoDeploymentService,name=pc2.AutoDeploymentService
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=javax.jbi.management.LifeCycleMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.container.JBIContainer,name=pc2
INFO - JBIContainer.init(415) | ServiceMix JBI Container
(http://servicemix.org/) name: pc2 running version: 3.0-SNAPSHOT
INFO - JBIContainer.activateComponent(884) | Activating component for:
[container=pc2,name=filePoller,id=filePoller] with service:
{http://servicemix.org/demo/}filePoller component:
org.apache.servicemix.components.file.FilePoller@1827d1
INFO - ComponentContextImpl.activateEndpoint(132) | Component: filePoller
activated endpoint: {http://servicemix.org/demo/}filePoller : foo:filePoller
DEBUG - EndpointRegistry.retrieveInterfacesFromDescription(109) | Endpoint
ServiceEndpoint[service={http://servicemix.org/demo/}filePoller,endpoint=foo:filePoller]
has no service description
INFO - JMSFlow.start(219) | pc2: Starting jms flow
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.filePoller
DEBUG - FilePoller.pollFileOrDirectory(151) | Polling directory inbox
DEBUG - AutoDeploymentService.monitorDirectory(491) | Monitoring directory
D:\servicemix\examples\test\.\rootDir\pc2\install for new or modified archives
DEBUG - AutoDeploymentService.monitorDirectory(491) | Monitoring directory
D:\servicemix\examples\test\.\rootDir\pc2\deploy for new or modified archives
DEBUG - FilePoller.pollFileOrDirectory(151) | Polling directory inbox
DEBUG - FilePoller.pollFile(165) | Scheduling file inbox\test-file.xml for
processing
DEBUG - FilePoller.processFileAndDelete(181) | Processing file
inbox\test-file.xml
WARN - DeliveryChannelImpl.createExchangeFactory(194) | Could not find
destination endpoint for filePoller service(null) with endpointName
foo:fileSender
DEBUG - Broker.resolveAddress(369) | Routing exchange
org.apache.servicemix.jbi.messaging.InOnlyImpl@717323 to: null
ERROR - FilePoller.processFileAndDelete(193) | Failed to process file:
inbox\test-file.xml. Reason: javax.jbi.messaging.MessagingException: Could not
find route for exchange: org.apache.servicemix.jbi.messaging.InOnlyImpl@717323
for service: null and interface: null
javax.jbi.messaging.MessagingException: Could not find route for exchange:
org.apache.servicemix.jbi.messaging.InOnlyImpl@717323 for service: null and
interface: null
	at org.apache.servicemix.jbi.nmr.Broker.sendExchangePacket(Broker.java:299)
	at
org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:580)
	at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:362)
	at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:436)
	at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:413)
	at
org.apache.servicemix.components.file.FilePoller.processFile(FilePoller.java:207)
	at
org.apache.servicemix.components.file.FilePoller.processFileAndDelete(FilePoller.java:184)
	at org.apache.servicemix.components.file.FilePoller$1.run(FilePoller.java:169)
	at org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:595)

Here is the log for pc2:

ServiceMix ESB: 3.0-SNAPSHOT

Loading ServiceMix from file: .\servicemix2.xml
DEBUG - ManagementContext.findMBeanServer(621) | No mbean server found
DEBUG - ManagementContext.findMBeanServer(626) | Creating mbean server
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=org.apache.servicemix.jbi.management.ManagementContextMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.management.ManagementContext,name=pc1.ManagementContext
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=javax.jbi.management.LifeCycleMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.container.EnvironmentContext,name=pc1.EnvironmentContext
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=javax.jbi.management.LifeCycleMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.Registry,name=pc1.Registry
INFO - JMSFlow.init(177) | pc1: Initializing jms flow
INFO - BrokerService.getBroker(418) | ActiveMQ 4.0-SNAPSHOT JMS Message Broker
(peer-D0157782-2151-1138366237650-1-0) is starting
INFO - BrokerService.getBroker(420) | For help or more information please see:
http://www.logicblaze.com
INFO - TransportServerThreadSupport.start(52) | Listening for connections at:
tcp://D0157782:2156
INFO - TransportConnector.start(175) | Accepting connection on:
tcp://D0157782:2156
WARN - MulticastDiscoveryAgent.start(192) | brokerName not set
INFO - BrokerService.start(350) | ActiveMQ JMS Message Broker
(peer-D0157782-2151-1138366237650-1-0) started
INFO - TransportConnector.start(175) | Accepting connection on:
vm://peer-D0157782-2151-1138366237650-1-0
INFO - NetworkConnector.onServiceAdd(100) | Establishing network connection
between vm://peer-D0157782-2151-1138366237650-1-0?network=true and null at
failover:tcp://D0157782:2156
DEBUG - FailoverTransport.reconnect(385) | Waking up reconnect task
INFO - DemandForwardingBridge.start(113) | Starting a network connection between
vm://peer-D0157782-2151-1138366237650-1-0#2 and unconnected has been
established.
DEBUG - FailoverTransport$2.iterate(138) | Attempting connect to:
tcp://D0157782:2156
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Connection
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Topic
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.pc1
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Producer.Topic.org.apache.servicemix.JMSFlow
INFO - JBIContainer.activateComponent(884) | Activating component for:
[container=pc1,name=#SubscriptionManager#,id=#SubscriptionManager#] with
service: null component:
org.apache.servicemix.jbi.nmr.SubscriptionManager@1c297a3
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=javax.jbi.management.LifeCycleMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.nmr.Broker,name=pc1.Broker
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service:
class=org.apache.servicemix.jbi.framework.FrameworkInstallationService,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.InstallationService,name=pc1.InstallationService
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=javax.jbi.management.DeploymentServiceMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.DeploymentService,name=pc1.DeploymentService
DEBUG - AutoDeploymentService.readState(571) | State file doesn't exist:
D:\servicemix\examples\test\.\rootDir\pc1\install\.state.xml
DEBUG - AutoDeploymentService.readState(571) | State file doesn't exist:
D:\servicemix\examples\test\.\rootDir\pc1\deploy\.state.xml
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=javax.jbi.management.LifeCycleMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.framework.AutoDeploymentService,name=pc1.AutoDeploymentService
DEBUG - ManagementContext.registerSystemService(545) | Registering system
service: class=javax.jbi.management.LifeCycleMBean,
name=org.apache.servicemix:type=org.apache.servicemix.jbi.container.JBIContainer,name=pc1
DEBUG - FailoverTransport$2.iterate(144) | Connection established
DEBUG - TcpTransport.run(132) | TCP consumer thread starting
DEBUG - FailoverTransport.start(204) | Started.
INFO - JBIContainer.init(415) | ServiceMix JBI Container
(http://servicemix.org/) name: pc1 running version: 3.0-SNAPSHOT
DEBUG - TcpTransport.run(132) | TCP consumer thread starting
INFO - JBIContainer.activateComponent(884) | Activating component for:
[container=pc1,name=fileSender,id=fileSender] with service:
{http://servicemix.org/demo/}fileSender component:
org.apache.servicemix.components.file.FileWriter@c6f734
INFO - ComponentContextImpl.activateEndpoint(132) | Component: fileSender
activated endpoint: {http://servicemix.org/demo/}fileSender : foo:fileSender
DEBUG - EndpointRegistry.retrieveInterfacesFromDescription(109) | Endpoint
ServiceEndpoint[service={http://servicemix.org/demo/}fileSender,endpoint=foo:fileSender]
has no service description
INFO - DemandForwardingBridge.serviceRemoteCommand(220) | Disconnecting loop
back connection.
DEBUG - FailoverTransport.stop(217) | Stopped.
INFO - JMSFlow.start(219) | pc1: Starting jms flow
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Consumer.Topic.org.apache.servicemix.JMSFlow
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.fileSender
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.#SubscriptionManager#
DEBUG - AutoDeploymentService.monitorDirectory(491) | Monitoring directory
D:\servicemix\examples\test\.\rootDir\pc1\install for new or modified archives
DEBUG - AutoDeploymentService.monitorDirectory(491) | Monitoring directory
D:\servicemix\examples\test\.\rootDir\pc1\deploy for new or modified archives
INFO - NetworkConnector.onServiceAdd(100) | Establishing network connection
between vm://peer-D0157782-2151-1138366237650-1-0?network=true and null at
failover:tcp://D0157782:2162
DEBUG - FailoverTransport.reconnect(385) | Waking up reconnect task
INFO - DemandForwardingBridge.start(113) | Starting a network connection between
vm://peer-D0157782-2151-1138366237650-1-0#4 and unconnected has been
established.
DEBUG - FailoverTransport.start(204) | Started.
DEBUG - FailoverTransport$2.iterate(138) | Attempting connect to:
tcp://D0157782:2162
DEBUG - FailoverTransport$2.iterate(144) | Connection established
DEBUG - TcpTransport.run(132) | TCP consumer thread starting
DEBUG - AbstractConnection.serviceException(174) | Async error occurred:
javax.jms.InvalidClientIDException: No clientID specified for connection
request
javax.jms.InvalidClientIDException: No clientID specified for connection request
	at
org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:144)
	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
	at
org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:66)
	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
	at
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:74)
	at
org.apache.activemq.broker.AbstractConnection.processAddConnection(AbstractConnection.java:479)
	at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:106)
	at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:190)
	at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:60)
	at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:82)
	at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
	at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:75)
	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:44)
	at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:54)
	at
org.apache.activemq.network.DemandForwardingBridge.startBridge(DemandForwardingBridge.java:158)
	at
org.apache.activemq.network.DemandForwardingBridge$3.run(DemandForwardingBridge.java:142)
WARN - DemandForwardingBridge.serviceLocalCommand(387) | Unexpected local
command: ConnectionError {commandId=2, responseRequired=false,
connectionId=null, exception=javax.jms.InvalidClientIDException: No clientID
specified for connection request}
DEBUG - TcpTransport.run(132) | TCP consumer thread starting
INFO - DemandForwardingBridge.startBridge(176) | Network connection between
vm://peer-D0157782-2151-1138366237650-1-0#4 and tcp://D0157782:2162 has been
established.
WARN - DemandForwardingBridge.serviceRemoteCommand(232) | Unexpected remote
command: ConnectionError {commandId=2, responseRequired=false,
connectionId=null, exception=javax.jms.InvalidClientIDException: No clientID
specified for connection request}
DEBUG - AbstractConnection.serviceException(174) | Async error occurred:
javax.jms.InvalidClientIDException: No clientID specified for connection
request
javax.jms.InvalidClientIDException: No clientID specified for connection request
	at
org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:144)
	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
	at
org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:66)
	at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:62)
	at
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:74)
	at
org.apache.activemq.broker.AbstractConnection.processAddConnection(AbstractConnection.java:479)
	at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:106)
	at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:190)
	at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:60)
	at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:82)
	at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
	at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:105)
	at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:77)
	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)
	at java.lang.Thread.run(Thread.java:595)
DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
sub on vm://peer-D0157782-2151-1138366237650-1-0#4 from tcp://D0157782:2162 on 
ConsumerInfo {commandId=4, responseRequired=true,
consumerId=ID:D0157782-2158-1138366250428-5:0:1:1,
destination=queue://org.apache.servicemix.inbound.pc2, prefetchSize=1000,
browser=false, dispatchAsync=true, selector=null, subcriptionName=null,
noLocal=false, exclusive=false, retroactive=false, priority=0, brokerPath=null}
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.pc2
DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
sub on vm://peer-D0157782-2151-1138366237650-1-0#4 from tcp://D0157782:2162 on 
ConsumerInfo {commandId=8, responseRequired=true,
consumerId=ID:D0157782-2158-1138366250428-5:0:2:1,
destination=topic://org.apache.servicemix.JMSFlow, prefetchSize=32766,
browser=false, dispatchAsync=true, selector=null, subcriptionName=null,
noLocal=true, exclusive=false, retroactive=false, priority=0, brokerPath=null}
DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
sub on vm://peer-D0157782-2151-1138366237650-1-0#4 from tcp://D0157782:2162 on 
ConsumerInfo {commandId=12, responseRequired=true,
consumerId=ID:D0157782-2158-1138366250428-5:0:1:2,
destination=queue://org.apache.servicemix.inbound.filePoller,
prefetchSize=1000, browser=false, dispatchAsync=true, selector=null,
subcriptionName=null, noLocal=false, exclusive=false, retroactive=false,
priority=0, brokerPath=null}
DEBUG - AbstractRegion.addDestination(75) | Adding destination:
topic://ActiveMQ.Advisory.Consumer.Queue.org.apache.servicemix.inbound.filePoller
DEBUG - DemandForwardingBridge.serviceRemoteConsumerAdvisory(257) | Forwarding
sub on vm://peer-D0157782-2151-1138366237650-1-0#4 from tcp://D0157782:2162 on 
ConsumerInfo {commandId=13, responseRequired=true,
consumerId=ID:D0157782-2158-1138366250428-5:0:1:3,
destination=queue://org.apache.servicemix.inbound.#SubscriptionManager#,
prefetchSize=1000, browser=false, dispatchAsync=true, selector=null,
subcriptionName=null, noLocal=false, exclusive=false, retroactive=false,
priority=0, brokerPath=null}
DEBUG - AutoDeploymentService.monitorDirectory(491) | Monitoring directory
D:\servicemix\examples\test\.\rootDir\pc1\install for new or modified archives
DEBUG - AutoDeploymentService.monitorDirectory(491) | Monitoring directory
D:\servicemix\examples\test\.\rootDir\pc1\deploy for new or modified archives


Re: Setting up a cluster with servicemix

Posted by Guillaume Nodet <gu...@worldonline.fr>.
Do you have a stack trace ?
If no, maybe changing the log level to DEBUG will show one.

Cheers,
Guillaume Nodet

Mike Gerdes wrote:

>Hi,
>
>the clustering ist working now more or less, version 3.0 helped much. The
>clustering network seems to work. The two pcs exchange messaged, find each
>other and try to build up a DemandForwardingBridge, but at that point I get a
>message:
>
>WARN - DemandForwardingBridge.serviceRemoteCommand(232) | Unexpected remote comm
>and: ConnectionError {commandId=2, responseRequired=false, connectionId=null, ex
>ception=javax.jms.InvalidClientIDException: No clientID specified for connection
> request}
>
>For the testing I use just the examples, where the only modifications I have
>done are:
>
>- Adding the flowName="cluster"
>- Adding Name="mikes" for pc1 and Name="server1" for pc2
>
>Is this error message normal? And how can it be solved?
>
>And thanks Guillaume Nodet for your very fast responce.
>
>cya
>
>Mike
>
>
>  
>


Re: Setting up a cluster with servicemix

Posted by Mike Gerdes <mi...@tu-harburg.de>.
Hi,

the clustering ist working now more or less, version 3.0 helped much. The
clustering network seems to work. The two pcs exchange messaged, find each
other and try to build up a DemandForwardingBridge, but at that point I get a
message:

WARN - DemandForwardingBridge.serviceRemoteCommand(232) | Unexpected remote comm
and: ConnectionError {commandId=2, responseRequired=false, connectionId=null, ex
ception=javax.jms.InvalidClientIDException: No clientID specified for connection
 request}

For the testing I use just the examples, where the only modifications I have
done are:

- Adding the flowName="cluster"
- Adding Name="mikes" for pc1 and Name="server1" for pc2

Is this error message normal? And how can it be solved?

And thanks Guillaume Nodet for your very fast responce.

cya

Mike

Re: Setting up a cluster with servicemix

Posted by Guillaume Nodet <gu...@worldonline.fr>.
The issue you face i a known one 
(http://jira.activemq.org/jira/browse/SM-178) that has been fixed.
You should try the latest distribution available at 
http://cvs.apache.org/repository/incubator-servicemix/distributions/

Just changing the flow name should be enough to engage clustering.
Changing the flow name change the class used for dispatching messages in 
the NMR (we call this flow).
If you use a clustered flow, ServiceMix will use ActiveMQ to route all 
messages through the different nodes.

Cheers,
Guillaume Nodet

Mike Gerdes wrote:

>hi,
>
>I have a small problem with servicemix that I haven't been able to solve for a
>while now.
>I want to set up a cluster for servicemix. The cluster should consist of two pcs
>(pc1 and pc2). These two pcs should use one queue togather, for reliablity and
>load balancing.
>I want to try this with the jms-binding example, to start.
>
>So now when I set the flowName to cluster I get the message that the object
>can't be serialzised and then a lot of activemq error messages.
>Also I don't know if I have to configure the cluster in the activemq.xml or in
>the servicemix.xml and what the clustering in servicemix is doing.
>
>When I take the flowName out of the serviemix.xml then the example is running
>without a problem.
>
>So my basic question is, how and where do I set up a servicemix cluster for
>loadbalancing and reliablitiy?
>
>Can anybody provide me a link or document with good instructions of how to
>configure servicemix?
>
>How does clustering works in servicemix? What happens when I change the
>flowName?
>
>Do I have to provide additional arguments to flowName?
>
>I hope you can help with my problem and to understand servicemix, which I think
>is a great tool.
>
>cya and many thanks in advance
>
>Mike
>
>
>
>  
>