cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Berin Loritsch <>
Subject Re: StoreJanitorImpl runs forever?
Date Mon, 19 Nov 2001 14:19:15 GMT
Gerhard Froehlich wrote:

> Hi,
>>>I have a question regarding StoreJanitorImpl.
>>>As I see in the source StoreJanitorImpl implements only
>>>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?

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:

     this.janitor = new StartableDemo();

     this.janitor = null; // remove reference so it can be garbage collected


"Those who would trade liberty for
  temporary security deserve neither"
                 - Benjamin Franklin

To unsubscribe, e-mail:
For additional commands, email:

View raw message