In my example i said component A and B but my project is component A and C, the component B is a launcher for component C.
2009/6/11 Antonio Mirarchi <[email protected]> > > > 2009/6/11 Simon Laws <[email protected]> > > Hi Antonio >> >> I think you should get a ServiceUnavailableException returned through >> the reference used to call the service. Were you seeing some other >> behaviour in the case where you killed component B? >> >> Regards >> >> Simon >> > Thank for your answer, i'll try to exaplin with more details the example, > the component B send its selfreference to component A the component use > this refererence (in code: (Bcomponent) selfrefB.getService()) to use the > methods of component B, the component A call a B-mthod doSomeCalc(), at this > point i kill the process of component B and the component A print something > like this: > > /**************************************************/ > [java] INFO: Added Servlet mapping: > http://icewolf:8100/AServiceComponent > [java] - I/O exception > (org.apache.commons.httpclient.NoHttpResponseException) caught when > processing request: The server localhost failed to respond > [java] - Retrying request > [java] - Unable to sendViaPost to url[ > http://localhost:8300/CServiceComponent] > [java] java.net.ConnectException: Connection refused > [java] at java.net.PlainSocketImpl.socketConnect(Native Method) > [java] at > java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) > [java] at > java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) > [java] at > java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) > [java] at > java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) > [java] at java.net.Socket.connect(Socket.java:519) > [java] at java.net.Socket.connect(Socket.java:469) > [java] at java.net.Socket.<init>(Socket.java:366) > [java] at java.net.Socket.<init>(Socket.java:240) > [java] at > org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80) > [java] Exception in thread "main" > org.osoa.sca.ServiceRuntimeException: org.osoa.sca.ServiceRuntimeException: > org.apache.axis2.AxisFault: Connection refused > [java] at node.LaunchClient.main(LaunchClient.java:28) > [java] Caused by: org.osoa.sca.ServiceRuntimeException: > org.apache.axis2.AxisFault: Connection refused > [java] at > org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:136) > [java] at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287) > [java] at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154) > [java] at $Proxy14.saluto(Unknown Source) > [java] at cloader.PaperinoImpl.execute(PaperinoImpl.java:37) > [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > [java] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > [java] at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > [java] at java.lang.reflect.Method.invoke(Method.java:597) > [java] at > org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:132) > [java] at > org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:112) > [java] at > org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61) > [java] at > org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:112) > [java] at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287) > [java] at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154) > [java] at $Proxy6.execute(Unknown Source) > [java] at node.LaunchClient.main(LaunchClient.java:24) > [java] Caused by: org.apache.axis2.AxisFault: Connection refused > [java] at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) > [java] at > org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193) > [java] at > org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) > [java] at > org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:371) > [java] at > org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:209) > [java] at > org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448) > [java] at > org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401) > [java] at > org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228) > [java] at > org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) > [java] at > org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker$1.run(Axis2BindingInvoker.java:170) > [java] at java.security.AccessController.doPrivileged(Native > Method) > [java] at > org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invokeTarget(Axis2BindingInvoker.java:168) > [java] at > org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invoke(Axis2BindingInvoker.java:122) > [java] at > org.apache.tuscany.sca.binding.sca.axis2.impl.Axis2SCABindingInvoker.invoke(Axis2SCABindingInvoker.java:98) > [java] at > org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:78) > [java] ... 16 more > [java] Caused by: java.net.ConnectException: Connection refused > [java] at java.net.PlainSocketImpl.socketConnect(Native Method) > [java] at > java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) > [java] at > java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) > [java] at > java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) > [java] at > java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) > [java] at java.net.Socket.connect(Socket.java:519) > [java] at java.net.Socket.connect(Socket.java:469) > [java] at java.net.Socket.<init>(Socket.java:366) > [java] at java.net.Socket.<init>(Socket.java:240) > [java] at > org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80) > [java] at > org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122) > [java] at > org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707) > [java] at > org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361) > [java] at > org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387) > [java] at > org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) > [java] at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) > [java] at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346) > [java] at > org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:542) > [java] at > org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:189) > [java] ... 29 more > [java] at > org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122) > [java] at > org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707) > [java] at > org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361) > [java] at > org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387) > [java] at > org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) > [java] at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) > [java] at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346) > [java] at > org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:542) > [java] at > org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:189) > [java] at > org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) > [java] at > org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:371) > [java] at > org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:209) > [java] at > org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448) > [java] at > org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401) > [java] at > org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228) > [java] at > org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) > [java] at > org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker$1.run(Axis2BindingInvoker.java:170) > [java] at java.security.AccessController.doPrivileged(Native > Method) > [java] at > org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invokeTarget(Axis2BindingInvoker.java:168) > [java] at > org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invoke(Axis2BindingInvoker.java:122) > [java] at > org.apache.tuscany.sca.binding.sca.axis2.impl.Axis2SCABindingInvoker.invoke(Axis2SCABindingInvoker.java:98) > [java] at > org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:78) > [java] at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287) > [java] at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154) > [java] at $Proxy14.saluto(Unknown Source) > [java] at cloader.PaperinoImpl.execute(PaperinoImpl.java:37) > [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > [java] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > [java] at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > [java] at java.lang.reflect.Method.invoke(Method.java:597) > [java] at > org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:132) > [java] at > org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:112) > [java] at > org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61) > [java] at > org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:112) > [java] at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287) > [java] at > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154) > [java] at $Proxy6.execute(Unknown Source) > [java] at node.LaunchClient.main(LaunchClient.java:24) > [java] Java Result: 1 > /************************************************************************/ > > My goal is to catch the right exception to re-launch the component when it > fails or die for any reason. > Thanks a lot for your help. >
