【发布时间】:2018-04-15 16:41:45
【问题描述】:
在我的 ESB 项目中,我有很多数据服务和代理服务。并且代理服务按顺序调用数据服务。 在 5.x.x 版本中,DSS 和 ESB 是分开的,但从 EI 6.x.x 开始,它们会相互结合。问题是当我启动 EI 时,代理服务比数据服务更早部署。 EI 找不到调用的数据服务,所以无法部署代理服务。
我来宾我必须修复部署顺序,以便数据服务在代理服务之前启动。我该怎么做?
这是部署失败的代理服务之一:
TID: [-1234] [] [2017-11-03 08:14:35,121] 信息 {org.apache.synapse.core.axis2.ProxyService} - 构建 Axis 服务 代理服务:COMPLAIN_px {org.apache.synapse.core.axis2.ProxyService} TID:[-1234] [] [2017-11-03 08:14:35,122] 错误 {org.apache.synapse.core.axis2.ProxyService} - 读取错误 wsdl URI {org.apache.synapse.core.axis2.ProxyService} java.net.ConnectException:连接被拒绝(连接被拒绝) 在 java.net.PlainSocketImpl.socketConnect(本机方法) 在 java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 在 java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 在 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 在 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 在 java.net.Socket.connect(Socket.java:589) 在 sun.net.NetworkClient.doConnect(NetworkClient.java:175) 在 sun.net.www.http.HttpClient.openServer(HttpClient.java:463) 在 sun.net.www.http.HttpClient.openServer(HttpClient.java:558) 在 sun.net.www.http.HttpClient.(HttpClient.java:242) 在 sun.net.www.http.HttpClient.New(HttpClient.java:339) 在 sun.net.www.http.HttpClient.New(HttpClient.java:357) 在 sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202) 在 sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138) 在 sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032) 在 sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966) 在 sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546) 在 sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) 在 org.apache.synapse.config.SynapseConfigUtils.getOMElementFromURL(SynapseConfigUtils.java:316) 在 org.apache.synapse.core.axis2.ProxyService.buildAxisService(ProxyService.java:318) 在 org.apache.synapse.Axis2SynapseController.deployProxyServices(Axis2SynapseController.java:701) 在 org.apache.synapse.Axis2SynapseController.createSynapseEnvironment(Axis2SynapseController.java:390) 在 org.apache.synapse.ServerManager.start(ServerManager.java:182) 在 org.wso2.carbon.mediation.initializer.ServiceBusInitializer.initESB(ServiceBusInitializer.java:468) 在 org.wso2.carbon.mediation.initializer.ServiceBusInitializer.activate(ServiceBusInitializer.java:206) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260) 在 org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146) 在 org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345) 在 org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620) 在 org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197) 在 org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343) 在 org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222) 在 org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) 在 org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) 在 org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) 在 org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) 在 org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) 在 org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) 在 org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) 在 org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) 在 org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) 在 org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451) 在 org.wso2.carbon.inbound.endpoint.persistence.service.InboundEndpointPersistenceServiceDSComponent.activate(InboundEndpointPersistenceServiceDSComponent.java:49) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260) 在 org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146) 在 org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345) 在 org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620) 在 org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197) 在 org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343) 在 org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222) 在 org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) 在 org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) 在 org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) 在 org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) 在 org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) 在 org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) 在 org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) 在 org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) 在 org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) 在 org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451) 在 org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:514) 在 org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:219) 在 org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:94) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260) 在 org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146) 在 org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345) 在 org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620) 在 org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197) 在 org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343) 在 org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222) 在 org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) 在 org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) 在 org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) 在 org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) 在 org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) 在 org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) 在 org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) 在 org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) 在 org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) 在 org.eclipse.equinox.http.servlet.internal.Activator.registerHttpService(Activator.java:81) 在 org.eclipse.equinox.http.servlet.internal.Activator.addProxyServlet(Activator.java:60) 在 org.eclipse.equinox.http.servlet.internal.ProxyServlet.init(ProxyServlet.java:40) 在 org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.init(DelegationServlet.java:38) 在 org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1269) 在 org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1182) 在 org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1072) 在 org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5368) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5660) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:748) TID:[-1234] [] [2017-11-03 08:14:35,124] WARN {org.apache.synapse.Axis2SynapseController} - 代理服务 无法部署 COMPLAIN_px - 在代理服务故障安全中继续 模式。 {org.apache.synapse.Axis2SynapseController}
【问题讨论】:
-
听起来有点类似:wso2.org/jira/browse/ESBJAVA-3064 在我看来这个问题是已知的,但 WSO2 不愿意修复它。
-
根据CAPP部署架构,EI无法确定CAPP中的其他服务。因此,无法控制订单。您是否尝试过在 CAPP 内的 artifacts.xml 文件中定义的订单数据服务和代理。我认为您可以使用它来控制行为。
-
谢谢@vinok!我会试试你的建议,然后告诉你结果。
标签: wso2 wso2esb wso2dss wso2ei