You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Deepal Jayasinghe (JIRA)" <ji...@apache.org> on 2006/03/03 11:29:34 UTC

[jira] Assigned: (AXIS2-341) service deployment

     [ 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