----- Original Message ----- 
From: "Serge Knystautas" <[EMAIL PROTECTED]>
To: "Java Apache Mail Server" <[EMAIL PROTECTED]>
Sent: Monday, October 09, 2000 11:25 AM
Subject: Avalon questions


> Two questions:
> 
> 1. I have a question about how these pluggable repositories are supposed to
> work.  I understand that I can create different URL prefixes and have those
> spawn and configure different classes.  For instance, right now we have,
> 
> <repository type="MAIL" model="SYNCHRONOUS, ASYNCHRONOUS"
> destination="file://" class="org.apache.james.AvalonMailRepository"/>
> 
> as the default mail repository.  The file based user repository is very
> similar.  Federico (I think) mentioned that for the UserRepository, we could
> write an "ldap://" implementation of the user repository, and then in JAMES
> just specify the different URL.
> 
> The problem though is that right now I don't see how I can configure that
> repository except with the URL.  I can somewhat manage with the database
> mail repository because I can just make a really long URL and have part of
> that refer to a conf file for how to connect to the database.  For LDAP
> though, it's almost impossible as there are a dozen different parameters,
> and we end up creating a URL that's nearly undecipherable.
> 
> Is there any way to make the <repository> tag support configuration?

I am currently rewriting the configuration engine; however, this is possible.
The current configuration engine blindly builds a simpler DOM like configuration
tree.  If you make the <repository> tag so that it is not empty, you will have
child Configuraiton objects.

Your org.apache.james.AvalonMailRepository will have to be Configurable, and
you simply pass the child Configuration (the whole sub-tree will be passed).

The new configuration system will have a way to not only type check and validate
your Configuration objects, but prepopulate things like the class attribute
so that the administrator doesn't have to see that--it's the developer's job.

It's slow going, so don't expect it in the next Avalon release....

> 2. The TimeServer doesn't seem to work if you specify a time that is not in
> the future.  For instance, is I set an alarm to fire in 0 milliseconds, it
> will never fire.  I want to do this as the thread that's creating the alarm
> needs to return quickly, and I want to offload task that happens during the
> alarm to a different thread (this seems like a big goal of having a time
> manager).  I guess I could in theory make this 100 milliseconds, but then
> what is the server pauses for a split second and before the waking thread
> gets started, those 100 milliseconds pass?
> 
> Any suggestions here?  Am I just facing limitations because we're using an
> older copy of Avalon?  Is there a list I can subscribe to to monitor
> progress of Avalon and hopefully migrate JAMES to a more current version
> soon?  Thanks.

This is a feature as far as I know.  I also want to upgrade the TimeServer
to be a Scheduler (a combination of chron and at daemons).  Again don't
expect this anytime soon.  If you want something to fire in 0 milliseconds,
what's wrong with using the ThreadManager to fire off a thread (essentially
what TimeServer does) and run your event?



------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives:  <http://www.mail-archive.com/james%40list.working-dogs.com/>
Problems?:           [EMAIL PROTECTED]

Reply via email to