+1 for the second approach. If the logic of your service allows for
"restarting" without forcing an unload/reload of the entire JVM, the APIs
should accomodate that.
Craig
On Tue, 31 Jul 2001, Pier P. Fumagalli wrote:
> [EMAIL PROTECTED] at [EMAIL PROTECTED] wrote:
> >
> > [...]
> >
> > public interface Service {
> > public void load(ServiceContext context) throws Exception;
> > public void start() throws Exception;
> > public void stop() throws Exception;
> > }
>
> I keep going back and forth between two ideas: the first one is the above
> one, where a service is simply tied to the JVM process.
> Basically, when the JVM process is created, load(...) then start() are
> called, and at shutdown stop() is called.
>
> Another idea would be this one:
>
> public interface Service {
> public void init(ServiceContext context) throws Exception;
> public void start() throws Exception;
> public void stop() throws Exception;
> public void destroy() throws Exception;
> }
>
> This differs from the first one _not_only_ because a new method is added,
> but also because the lifecycle of a Service is different: when the JVM
> process is created init() is called (instead of load, but it's the same
> shit), destroy() is called before the VM process is shut down, but start()
> and stop() simply imply that a Service could be started and stopped many
> times within the life of the JVM process...
>
> So, now I'm stuck. Which one do you think is better (lately, I'm more
> oriented towards the second approach!)
>
> Pier
>
>