cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gerhard Froehlich" <g-froehl...@gmx.de>
Subject RE: StoreJanitorImpl runs forever?
Date Mon, 19 Nov 2001 14:26:23 GMT
Hi
>Gerhard Froehlich wrote:
>>>>I have a question regarding StoreJanitorImpl.
>>>>As I see in the source StoreJanitorImpl implements only
>>>>Runnable.
>>>>As I was using org.apache.cocoon.Main it seems that
>>>>after all work is done StoreJanitorImpl stays running,
>>>>this prevents org.apache.cocoon.Main to terminate even
>>>>after the Cocoon.dispose() call.
>>>>
>>>
>>>If this is the case, then we need to do one of two things:
>>>
>>>1) Have StoreJanitor implement Startable (allowing it to
>>>   be explicitly started and stopped, safely)
>>>2) Call thread.setDaemon(true) if no cleanup is necessary.
>>>
>> #1 I will take a look. But I need some re-read of the avalon
>> dev docs.
>> #2 is already set
>
>
>RE #2: JVM issues?
I don't know yet, I have to take a closer look....
>RE #1:
>
>The way I typically do this is a case like this:
>
>
>class StartableDemo implements Startable, Runnable
>{
>     private static boolean m_continue = true;
>
>     public void start() {
>         new Thread(this).start();
>     }
>
>     public void run() {
>         while (m_continue)
>         {
>             // do important stuff
>         }
>     }
>
>     public void stop() {
>         m_continue = false;
>     }
>}
>
>In this case, MRUStore will start this up like:
>
>
>initialize()
>{
>     this.janitor = new StartableDemo();
>     this.janitor.start();
>}
>
>dispose()
>{
>     this.janitor.stop();
>     this.janitor = null; // remove reference so it can be garbage collected
>}
Cool I put it on my todo list for this week. Hi out of work, but far away from 
getting bored ;)

Cheers
Gerhard


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message