----- 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]