axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rajith Attapattu" <rajit...@gmail.com>
Subject Re: Improvements to Service life cycle in handling
Date Fri, 15 Sep 2006 15:15:57 GMT
Robert,

How is this going to affect the spring stuff.
Especially how is this going to affect the way the appContext.xml is loaded?

Regards,

Rajith

On 9/15/06, robert lazarski <robertlazarski@gmail.com> wrote:
>
> That makes sense to me. I've been using startUp() and it doesn't
> really fit with the other methods of the interface in its current
> form. +1 for 1.1 since its interface changes and it'd be better to do
> it now.
>
> One question: Currently you need this in services.xml to get startUp()
> to invoke:
>
> <parameter name="load-on-startup" locked="false">true</parameter>
>
> I plan on testing this when its ready ... since the spring tutorial
> depends on it ... so I thought I'd ask if the services.xml param will
> remain the same.
>
> Thanks,
> Robert
>
> On 9/14/06, Deepal Jayasinghe <deepal@opensource.lk> wrote:
> > Hi All;
> >
> > Currently we have an interface called Service and which has few methods
> > that are used to manage session (or else user can add those method into
> > service impl class w.o implementing the interface). And that interface
> > has the following methods ;
> >
> > - startUp
> > - init
> > - setOperationContext
> > - destroy
> >
> > Three of them are for managing service life cycle ;
> > - init – will be called when the session start
> > - setOperationContext – immediately before calling actual java method
> > - destroy – will be call when the session finishes
> >
> > Remember all those method work if and only if you use Axis2 default
> > message receiver or you code gen.
> >
> > The method startUp is not session related method , which is useful when
> > you want to initialize database connections , create thread etc ... at
> > the time when you deploy the service. In the mean time interface name
> > Service is bit confusing to me AFAIK it should be ServiceLifeCycle. And
> > having method like startUp in that interface confuses the users.
> >
> > So how about the following changes ;
> > - Rename Service interface into ServiceLifeCycle
> > - Then remove startUp method from that interface.
> >
> > There should be a some other interface (like Module interface) and which
> > should be optional as well , to have the method startUp. If someone want
> > to open DB connection or anything at the time of service deploying ,
> > then he need to implement that interface (and for me which is identical
> > to Module interface). So with this change service element inside the
> > services.xml will be change to following
> >
> > <service name="foo" *class="implementation class of the interface "*>
> > <parameter name="ServiceClass">ServiceClass</parameter>
> > </service>
> >
> > Here the class attribute is optional , so if someone want to have
> > loadonStartup feature then he need to implement the Service interface
> > (new one) and put the impl name as the class attribute. This is very
> > useful if your service implementation class is not java (if you are
> > writing a groovy serice).
> >
> > So new Service interface will be look like follows;
> > public interface Service{
> > //will be called when service is deployed
> > public void startUp(ConfigurationContext configctx, AxisService
> service);
> > //will be called when Axis2 server showdown or when service removed from
> > the system
> > public void shutDown(ConfigurationContext configctx, AxisService
> service);
> > }
> >
> > And ServiceLifeCycle interface will look like below;
> >
> > public interface ServiceLifeCycle {
> > public void init(ServiceContext sc);
> > public void setOperationContext(OperationContext operationContext);
> > void destroy(ServiceContext sc);
> > }
> >
> >
> > I am +1 on doing this for Axis2 1.1 :)
> >
> > Suggestions ........
> >
> > Thanks
> > Deepal
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>

Mime
View raw message