L.S.,

If you're using plain Spring files to deploy those JBI endpoints, you
probably have to refer to the endpoint directly instead of using the
endpointName/serviceName properties.  Add an id to the
http:soap-consumer endpoint and then refer to the id with the cluster
registration.

  <bean 
class="org.apache.servicemix.jbi.cluster.engine.OsgiSimpleClusterRegistration">
    <property name="endpoint" ref="httpConsumer" />
  </bean>


Regards,

Gert Vanthienen


On Tue, Mar 25, 2014 at 12:39 PM, arun kumar <[email protected]> wrote:
> Hi All,
>
> I am trying to test the JBI clustering with the servicemix version 4.5.3,
> smx-http Binding component and ActiveMQ ( network of brokers ).
> I have the consumer endpoint deployed on instance 1 and the provider
> endpoint deployed on instance 2 successfully.
>
> I have both the activeMQ instances interconnected by a network of brokers.
>
> I am getting log of successful deployment and publishing of my service when
> deployed on instance 1, but
> while deploying the service on instance 1 do we get the evidence of service
> being registered over the cluster from logs on instance 2?
> Similarly for instance 1 when service is  deployed on instance 2?
> I don't see any thing  happening of this sort on the Smx instances.
>
> I guess I am missing a step somewhere not able to figure out where?
>
> Can anyone throw some light on this if you have got the JBI clustering to
> work?
>
> Thanks in advance,
> Arun
>
>
> *My bean for instance 1 is getting defined but I don't see the service
> endpoint getting published on the instnace 2:*
> 11:44:42,281 | INFO  | ESB/Test1/deploy | DefaultListableBeanFactory       |
> 46 - org.springframework.beans - 3.0.7.RELEASE | Pre-instantiating
> singletons in
> org.springframework.beans.factory.support.DefaultListableBeanFactory@4096b7:
> defining beans
> [org.apache.servicemix.http.endpoints.HttpSoapConsumerEndpoint#0,org.apache.servicemix.jbi.cluster.engine.OsgiSimpleClusterRegistration#0];
> parent: org.apache.servicemix.common.xbean.SimpleBeanFactory@96836c
>
>
> *when I try to access the consumer endpoint I get the error (Could not
> dispatch exchange no matching end points found):*
> 11:45:31,675 | WARN  | qtp26051605-129  | NMR                              |
> 193 - org.apache.servicemix.nmr.core - 1.6.1 | Error processing exchange [
>   id:        978509557-50994-1395743863697-0-8
>   mep:       InOut
>   status:    Active
>   role:      Consumer
>   target:
> PropertyMatchingReference[{SERVICE_NAME={http://jbimulti2.iaas.uni-stuttgart.de/taxiscenario}httpSoapProvider}]
>   operation:
> {http://jbimulti2.iaas.uni-stuttgart.de/taxiscenario}EchoServiceOperation
>   properties: [
>       org.apache.servicemix.senderEndpoint =
> {http://jbimulti2.iaas.uni-stuttgart.de/taxiscenario}httpSoapConsumer:TaxiProviderHttpSoapConsumerEndpoint
>       javax.jbi.messaging.MessageExchange =
> org.apache.servicemix.jbi.runtime.impl.InOutImpl@4f68aa
>       javax.jbi.messaging.sendSync = <null>
>       javax.jbi.InterfaceName = <null>
>       javax.jbi.transaction.jta = <null>
>       org.apache.servicemix.correlationId =
> 978509557-50994-1395743863697-0-8
>       javax.jbi.ServiceName =
> {http://jbimulti2.iaas.uni-stuttgart.de/taxiscenario}httpSoapProvider
>   ]
> ]
>
> org.apache.servicemix.nmr.api.ServiceMixException: Could not dispatch
> exchange. No matching endpoints.
>         at
> org.apache.servicemix.nmr.core.FlowRegistryImpl.dispatch(FlowRegistryImpl.java:123)[193:org.apache.servicemix.nmr.core:1.6.1]
>         at
> org.apache.servicemix.nmr.core.ChannelImpl.dispatch(ChannelImpl.java:308)[193:org.apache.servicemix.nmr.core:1.6.1]
>         at
>
>
> *Consumer endpoint deployed on Instance 1:*
> <http:soap-consumer service="tx:httpSoapConsumer"
>                 endpoint="TaxiProviderHttpSoapConsumerEndpoint"
>
> locationURI="http://localhost:8163/httpSoapConsumer/TaxiProviderHttpSoapConsumerEndpoint";
>                 targetService="tx:httpSoapProvider"
>                 targetEndpoint="httpSoapProviderEndpoint" 
> wsdl="classpath:service.wsdl"
>                 useJbiWrapper="false"
>                 />
>
>         <bean
> class="org.apache.servicemix.jbi.cluster.engine.OsgiSimpleClusterRegistration">
>                 <property name="serviceName" value="tx:httpSoapConsumer" />
>                 <property name="endpointName"
> value="TaxiProviderHttpSoapConsumerEndpoint" />
>         </bean>
>
>
> *Provider endpoint ( Clustered ) deployed on Instance 2:*
> <http:soap-provider service="tx:httpSoapProvider"
>                  endpoint="httpSoapProviderEndpoint"
>
> locationURI="http://localhost:8080/ESBPerformanceEchoServiceWithResponse/services/EchoServiceWithResponse/";
>                  interfaceName="tx:EchoServicePortType"
>                          wsdl="classpath:service.wsdl"
>                          useJbiWrapper="false"
>                          validateWsdl="false"/>
>
>         <bean
> class="org.apache.servicemix.jbi.cluster.engine.OsgiSimpleClusterRegistration">
>                 <property name="serviceName" value="tx:httpSoapProvider" />
>                 <property name="endpointName" 
> value="httpSoapProviderEndpoint" />
>
>
> *jbi-cluster.xml from the JBI cluster config:*
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>
> xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0";
>
> xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0";>
>
>     <bean id="clusterEngine"
> class="org.apache.servicemix.jbi.cluster.engine.ClusterEngine"
> init-method="afterPropertiesSet" destroy-method="destroy">
>         <property name="pool" ref="pool" />
>         <property name="name" value="${clusterName}" />
>     </bean>
>
>     <bean id="pool"
> class="org.apache.servicemix.jbi.cluster.requestor.ActiveMQJmsRequestorPool"
> init-method="afterPropertiesSet" destroy-method="destroy">
>         <property name="connectionFactory" ref="connectionFactory" />
>         <property name="destinationName" value="${destinationName}" />
>     </bean>
>
>     <reference-list id="clusterRegistrations"
>
> interface="org.apache.servicemix.jbi.cluster.engine.ClusterRegistration"
>                availability="optional">
>        <reference-listener ref="clusterEngine" bind-method="register"
> unbind-method="unregister" />
>     </reference-list>
>
>     <reference id="connectionFactory"
> interface="javax.jms.ConnectionFactory" />
>
>     <service ref="clusterEngine">
>         <interfaces>
>             <value>org.apache.servicemix.nmr.api.Endpoint</value>
>             <value>org.apache.servicemix.nmr.api.event.Listener</value>
>
> <value>org.apache.servicemix.nmr.api.event.EndpointListener</value>
>
> <value>org.apache.servicemix.nmr.api.event.ExchangeListener</value>
>         </interfaces>
>         <service-properties>
>             <entry key="NAME" value="${clusterName}" />
>         </service-properties>
>     </service>
>
>     <ext:property-placeholder placeholder-prefix="$["
> placeholder-suffix="]">
>         <ext:default-properties>
>             <ext:property name="servicemix.cluster.destination"
> value="org.apache.servicemix.jbi.cluster"/>
>         </ext:default-properties>
>     </ext:property-placeholder>
>
>     <cm:property-placeholder
> persistent-id="org.apache.servicemix.jbi.cluster.config">
>         <cm:default-properties>
>             <cm:property name="clusterName" value="$[karaf.name]"/>
>             <cm:property name="destinationName"
> value="$[servicemix.cluster.destination]"/>
>         </cm:default-properties>
>     </cm:property-placeholder>
>
> </blueprint>
>
>
>
> --
> View this message in context: 
> http://servicemix.396122.n5.nabble.com/JBI-cluster-not-working-with-ActiveMQPool-tp5719698.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to