Hi,

Regarding that you describe, you use ServiceMix 3.

I guess your conf/activemq.xml file contain transporterConnectors definition and a persistenceAdapter like this:

<amq:transportConnectors>
     <amq:transportConnector uri="tcp://localhost:61616"/>
  </amq:transportConnectors>

 <amq:persistenceAdapter>
<amq:journaledJDBC journalLogFiles="5" dataDirectory="/<shared>/data/amq"/>
 </amq:persistenceAdapter>


(maybe you use a persistenceAdapter backend different from JDBC adapter).

ServiceMix supports the following flow:
- straught-through (ST)
- seda
- JMS
- JCA

A JMS flow is used for cases where you need collaboration between more than one ServiceMix JBI container. For example, an application that needs to have fail-over capability or an application that needs to balance its endpoints among several machines would need to have one or more JBI containers working in concert. When JBI containers are deployed in a cluster, component deployment happens in the same way as a normal, but all the containers in the cluster are notified of a deployment, and the JMS flow handles automatic routing and failover of MessageExchange(s) between the container instances. A Message Queue is used for each JBI endpoint, so multiple instances of the same named Component will have requests load balanced across them.

JCA flow is very similar to the JMS one and can be used to cluster ServiceMix containers together.

So, to summarize, if you need to cluster ServiceMix containers, you have to use JMS or JCA flow, SEDA is not supported directly for clustering.

Regards
JB

javadevel wrote:
We have a clustered servicemix instances that only have JMS flow enabled. We
routing logic that is implemented using the camel JBI component that, for
some simple cases, uses SEDA as a choice of communication between internal
endpoints. However, the explicit use of SEDA as part of the camel JBI
component causes an error to be generated and the entire request to fail. We
changed the servicemix instance configurations to allow both JMS and SEDA
flow but this caused all communications to go over SEDA and this defeats the
purpose of having a clustered environment. Is it possible to configure SMX
in such a way that it would use JMS as a default flow and uses SEDA if
explicitly required?

Thanks

--
Jean-Baptiste Onofré (Nanthrax)
BuildProcess/AutoDeploy Project Leader
http://buildprocess.sourceforge.net
[email protected]
PGP : 17D4F086

Reply via email to