我正在使用 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());