axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sanjiva Weerawarana <>
Subject Re: [axis2] Pinging capability to services deployed in Axs2
Date Thu, 08 Feb 2007 01:53:32 GMT
The ping response is a best effort. The default is to say "it reached
the msg receiver so all is ok." Obviously that's not always true- e.g.,
class load errors can occur after that. (Or imagine the service is
implemented by a BPEL script- one of the external services may be

So a given message receiver can do better if it can and wants to. If its
a Java MR it can try to load the class before replying for example. We
don't want to dictate terms to the MR.

Its well and good that the message made it thru the handlers but that
doesn't say that the service will work (or is likely to work; this is
not a transactional thing after all) when its invoked. Delivering the
ping all the way to the MR gives maximum opportunity for the best effort
answer of "how are you doing" to be as good as it can be.

Unfortunately there's no way to do that without adding another method to
the MR interface. We will provide a default impl which simply returns
true .. meaning "yep ping went thru" but we encourage MR authors
(including our tools) to do better.



On Wed, 2007-02-07 at 12:13 +0530, Deepal Jayasinghe wrote:
> > Hi Dims, Deepal
> >
> > Actually the idea is to develop a custom ping module with appropriate
> > handlers. One of the ping handlers should be added to the dispatch
> > phase before the 'InstanceDispatcher' (Inflow). If the service is
> > deployed and it is active, then ping handler can get the service
> > status from AxisConfiguration. If the service is not deployed then the
> > service information is not available in the AxisConfiguration. Then
> > the ping module can respond to the ping requests accordingly.
> +1
> >
> > well... this is the fundamental functionality of the ping module,
> > monitoring the availability of the services deployed in axis2. But
> > extending the MessageReceiver api with a ping method will enhance this
> > functionality. 
> Managing a service (like sending a ping message) is generic requirement
> or a specific requirement, as I can see it is very specific requirement.
> So Im not that much like to change the MR api to cope with requirement.
> > Since the method is added to the AbstractMessageReceiver it will not
> > break the existing implementations of the MessageReceiver interface.
> > This ping method can be used to check real status of the services,
> > whether they are up and running. There may be instances, where the
> > services are available but they are not in a position to respond to
> > requests. 
> So , how come that response to ping request if it is in such a position  :)
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:
Sanjiva Weerawarana, Ph.D.
Founder & Director; Lanka Software Foundation;
Founder, Chairman & CEO; WSO2, Inc.;
Director; Open Source Initiative;
Member; Apache Software Foundation;
Visiting Lecturer; University of Moratuwa;

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message