I had the same problem.

For me it worked to simply start an external broker (the standard activemq distribution).
Then you simply have to configure servicemix to connect to this machine.

Chris

bebop01 schrieb:
Hello,

I'm trying to set up a servicemix cluster consisting of two instances A and
B.
Each instance resides on a separate machine.
Each instance uses an embedded activemq broker.
Bot brokers are configured to act as a network kof brokers.
Instance A hosts a quartzcomponent that sends a message to an eip filter on
instance B.
If the quartz and the eip filter reside on the same instance A or B,
everything works fine.
But not if quartz runs on instance A anf the filter runs on instance B.


I get the following error:

javax.jbi.messaging.MessagingException: Could not find route for exchange:
InOnly[
  id: ID:mnuc02d-50847-1170955390242-9:0
  status: Active
  role: provider
  service: {dth-services-test/10}quartzFilter
  in: <?xml version="1.0"
encoding="UTF-8"?><timer><name>{dth-services-test/10}scheduler:endpoint</name><group>DEFAULT</group><fullname>DEFAULT.{dth-services-test/10}scheduler:endpoint</fullname><description/><fireTime>Thu
Feb 08 18:25:00 CET 2007</fireTime></timer>
] for service: {dth-services-test/10}quartzFilter and interface: null
        at
org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:295)
        at
org.apache.servicemix.jbi.security.SecuredBroker.sendExchangePacket(SecuredBroker.java:80)
        at
org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:793)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:381)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:417)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.sendConsumerExchange(AsyncBaseLifeCycle.java:546)
        at
org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:77)
        at
org.apache.servicemix.common.endpoints.SimpleEndpoint.send(SimpleEndpoint.java:67)
        at
org.epo.epobus.components.quartz.QuartzEndpoint2.onJobExecute(QuartzEndpoint2.java:180)
        at
org.apache.servicemix.quartz.support.ServiceMixJob.execute(ServiceMixJob.java:54)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
        at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)


Instance A uses the following broker configuration:

   <amq:transportConnectors>
       <amq:transportConnector uri="tcp://localhost:61617"
discoveryUri="multicast://default"/>
    </amq:transportConnectors>
<amq:networkConnectors>
      <amq:networkConnector uri="static://(tcp://mnuc02d:61617)"
failover="true"/>
    </amq:networkConnectors>
Instance B uses the following broker configuration:


   <amq:transportConnectors>
       <amq:transportConnector uri="tcp://localhost:61617"
discoveryUri="multicast://default"/>
    </amq:transportConnectors>
<amq:networkConnectors>
      <amq:networkConnector uri="static://(tcp://mnuc03d:61617)"
failover="true"/>
    </amq:networkConnectors>

Is it possible to create a network of embedded brokers to achieve load
balancing?
If yes, what could be the problem?

Wolfgang



--

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

Reply via email to