You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by Antonio Mirarchi <an...@gmail.com> on 2009/06/11 16:54:20 UTC

Tuscany Java: How to Detect if component is running or not

Hi, i'm working with tuscany sca java 1.4, i must realize a distribuited
application with this scenario:
A component A, on a node,  use a component B, on another node, for some
calculation and in any moment the component B can be killed (like a
Control-C for example). The question is: there is in tuscany a way to detect
this event, i've seen that if i kill component B during calculation the
component A print some *exception how I can catch this exception and use it?

Thanks for your help, and sorry for my english.

Re: Tuscany Java: How to Detect if component is running or not

Posted by Simon Laws <si...@googlemail.com>.
So in your cloader.PaperinoImpl.execute method you could trap the
org.osoa.sca.ServiceRuntimeException exception. I still think this
should be a ServiceUnavailable exception but we'll have to look at the
runtime and see what's happening in this situation.

Simon

Re: Tuscany Java: How to Detect if component is running or not

Posted by Antonio Mirarchi <an...@gmail.com>.
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 <an...@gmail.com>

>
>
> 2009/6/11 Simon Laws <si...@googlemail.com>
>
> 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.
>

Re: Tuscany Java: How to Detect if component is running or not

Posted by Antonio Mirarchi <an...@gmail.com>.
2009/6/11 Simon Laws <si...@googlemail.com>

> 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.

Re: Tuscany Java: How to Detect if component is running or not

Posted by Simon Laws <si...@googlemail.com>.
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