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