[ http://issues.apache.org/jira/browse/AXIS2-341?page=all ]

Deepal Jayasinghe reassigned AXIS2-341:
---------------------------------------

    Assign To: Deepal Jayasinghe

> service deployment
> ------------------
>
>          Key: AXIS2-341
>          URL: http://issues.apache.org/jira/browse/AXIS2-341
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Improvement
>   Components: deployment
>     Versions: 0.94
>  Environment: not pertinent
>     Reporter: Tony Dean
>     Assignee: Deepal Jayasinghe

>
> Original email:
> I have been using the "public void init()" method of my service implemenation 
> to perform one-time initialization.  I can't remember how I stumbled across 
> this functionality, but it would be nice for you to define an implemenation 
> interface that describes this functionality.  Maybe you have and I just do 
> not know about it.  When I tested my service, it appeared that the engine 
> called init() on every operation invocation.  I did not spend much time 
> looking through the code so I'm asking how you conceptually designed these 
> semantics?  In particular, how many instances of a particular service will be 
> instantiated by the engine?  The init() method should only be called once 
> when the service is initally instantiated.  Will the engine be able to 
> quiesce unused service instances?  These are the semantics that are usually 
> derived from the container itself.  Also, suppose I have some initialization 
> code that needs to be done once and can be shared among all of my service 
> instances (singleton functionality).  How can I accomplish this... for 
> instance, is there a way to tell how many instances of myself have been 
> instantiated?  Lastly, is there an analogous "public void destroy()" that can 
> be used to release any required resources obtained by my service?
> I'd like to see the following:
> 1. ServiceImplInterface
> public interface ServiceImplInterface {
>    public void init();
>    public void destroy();
> }
> 2. init is called when the service is instantiated... should handle one-time 
> initialization for the service.  destroy is called when the service is 
> undeployed to release any acquired resources.
> 3. can we be intelligent about the number of instances that are created for a 
> particular service?  if not heavily used, we need to reuse existing instances 
> instead of creating additional ones.  otherwise, we all should create 
> singleton services so that the system does not grow uncontrollable.
> 4. if we are allowed to create multiple instances of our services, there may 
> be times when we want to do one-time initialization for as a whole for all of 
> our services instances... is there a way to determine when the last instance 
> is being undeployed (destroyed) so that this singleton-type of resource 
> acquisition can be destroyed when the last instance is going away?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to