After a few more hours I got some new results but also lot of confusion. First 
I switched in servicemix.xml the flow configuration to JMS as default (maybe 
this should also be outlined on the SMX homepage). Now the cluster seems to 
work. I am using a environment where SOAP requests are entering the ESB via the 
HTTP BC. These requests are then forwarded to the ODE SE which sends a 
reformatted message to the Advanced JDBC component.

Now I deployed the HTTP BC, the ODE SE, JDBC BC on one host of the cluster
And only http BC and JDBC BC on the other host of the cluster

On one host in the cluster (where all components are installed ) I now 
experience the right behaviour. The JDBC query is done in round robin fashion 
between the two hosts like descriped in the Flows section of the SMX user 
manual.

On the other host where ODE SE is not installed I get the that the service is 
not registered.

HttpComponent            | emix.common.AsyncBaseLifeCycle  626 | Created 
correlation id: ID:127.0.1.1-11ed983c88a-6:2
DeliveryChannelImpl      | .messaging.DeliveryChannelImpl  425 | Send 
ID:127.0.1.1-11ed983c88a-6:2 in DeliveryChannel{servicemix-http}
DefaultBroker            | rvicemix.jbi.nmr.DefaultBroker  344 | ServiceName 
({urn:/NameInfo.wsdl}NameService) specified for routing, but can't find it 
registered

Why ist he request not forwarded to the other host of the cluster of brokers?

Berndt



-----Ursprüngliche Nachricht-----
Von: Berndt Sevcik [mailto:[email protected]] 
Gesendet: Donnerstag, 15. Jänner 2009 10:46
An: [email protected]
Betreff: SMX Cluster with HTTP and ODE Component

I'm trying to get a SMX cluster running consisting of two SA and two SMX 
instances on two different hosts. One SA is including the http BC and the other 
one the ODE engine. Running both SA in the same SMX instance is not problem and 
everything works fine. Putting the two SA on different machines the query 
results in the following debug output:

10:31:16,920 | DEBUG | btpool0-1  | HttpComponent            | 
emix.common.AsyncBaseLifeCycle  626 | Created correlation id: 
ID:127.0.1.1-11ed983c88a-6:2
10:31:16,980 | DEBUG | btpool0-1  | DeliveryChannelImpl      | 
.messaging.DeliveryChannelImpl  425 | Send ID:127.0.1.1-11ed983c88a-6:2 in 
DeliveryChannel{servicemix-http}
10:31:16,981 | DEBUG | btpool0-1  | SecuredBroker            | 
mix.jbi.security.SecuredBroker   66 | send exchange with secure broker
10:31:16,981 | WARN  | btpool0-1  | DefaultBroker            | 
rvicemix.jbi.nmr.DefaultBroker  344 | ServiceName 
({urn:/NameInfo.wsdl}NameService) specified for routing, but can't find it 
registered
10:31:16,982 | WARN  | btpool0-1  | DefaultBroker            | 
rvicemix.jbi.nmr.DefaultBroker  344 | ServiceName 
({urn:/NameInfo.wsdl}NameService) specified for routing, but can't find it 
registered
10:31:16,990 | DEBUG | btpool0-1  | DeliveryChannelImpl      | 
.messaging.DeliveryChannelImpl  398 | Exception processing: 
ID:127.0.1.1-11ed983c88a-6:2 in DeliveryChannel{servicemix-http}


The cluster is using a static configuration and the debug output is also 
showing communication between the instances after the second one is starting:

10:03:37,841 | DEBUG | ActiveMQ Session Task | JMSFlow                  | 
i.nmr.flow.jms.AbstractJMSFlow  378 | ServiceMix: broadcasting info for 
org.apache.servicemix.jbi.event.EndpointEvent[source=ServiceEndpoint[service={urn:/JdbcInfo.wsdl}JdbcService,endpoint=JdbcPort]]

10:03:37,994 | DEBUG | 
pool-flow.jca.ActiveMQ.Advisory.Consumer.Topic.org.apache.servicemix.JCAFlow-thread-3
 | JCAFlow                  | cemix.jbi.nmr.flow.jca.JCAFlow  389 | ServiceMix: 
broadcasting info for 
org.apache.servicemix.jbi.event.EndpointEvent[source=ServiceEndpoint[service={urn:/JdbcInfo.wsdl}JdbcService,endpoint=JdbcPort]]


I have no idea what is the cause for it. Thanks for help in advance.

Berndt


Reply via email to