0

我正在使用 Servicemix 4.5.3,并且我将消费者端点部署在实例 1 上的 (HTTP BC) 上,并将提供者端点部署在实例 2 上的 (HTTP BC) 上,两个实例通过代理网络互连。

当我调用消费者端点时,我收到以下错误:: org.apache.servicemix.nmr.api.ServiceMixException无法调度交换。没有匹配的端点。

这很好,因为我没有为提供者和消费者端点启用集群。

我正在关注此链接以启用端点聚类 http://fusesource.com/docs/esb/4.2/jbi/ESBJBICluster.html

我有两个问题:1)如果我启用两个端点的集群,目标端点(即提供者端点)现在会得到解决吗?

2) 当我尝试在实例 1 上部署消费者服务单元时出现以下错误。我的 xbean 配置有什么问题吗?有谁知道这个错误的原因是什么?

谢谢你,阿伦

PS:这是我在消费者 SU 中的 xbean.xml。

<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="name" value="c1" />
        <property name="serviceName" value="tx:httpSoapConsumer" />
        <property name="endpointName" value="TaxiProviderHttpSoapConsumerEndpoint" />
    </bean>
</beans>

错误:

`<stack-trace><![CDATA[org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.servicemix.jbi.cluster.engine.OsgiSimpleClusterRegistration#0' defined in file [/home/ubuntu/ProductionEnvironment/MultiInstanceESB/Test1/data/jbi/aruntest.http.Consumer.endpoint.sa/sus/aruntest.http.consumer.endpoint/xbean.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException

Caused by: java.lang.NullPointerException
    at org.apache.servicemix.jbi.cluster.engine.OsgiSimpleClusterRegistration.afterPropertiesSet(OsgiSimpleClusterRegistration.java:43)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethod

This is the line causing the Exception: (OsgiSimpleClusterRegistration.java:43)
serviceRegistration = bundleContext.registerService(ClusterRegistration.class.getName(), this, new Properties());
4

0 回答 0