james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Brewin" <sbre...@synsys.com>
Subject RE: Container direction for James
Date Fri, 03 Dec 2004 19:13:58 GMT
Alex Karasulu wrote:
> Steve Brewin wrote:


> "Auto-wiring" I quickly learned is overrated for us over at
> directory.
> Perhaps it may be the same for any almost static wiring of a server.
> Really there's very little glue code that's needed to connect
> the peices
> of Eve.  I realized its not worth the pain and wrote a factory that
> assembles a configuration for me using just hard wired code making
> debuging assembies easier.  All deps go into constructors as
> you pointed
> out.  If I need another configuration I just implement
> another factory.
> I have not had to do that yet.   So I don't think server
> projects really
> get a big bang out of this service.
> However there may be exceptions. If you have components that
> users can
> add and configure within the server the better approach IMO
> would be to
> integrate a framework or enable components of an existing
> framework in
> your server like the way Geronimo has with its Spring component
> compatibility.

Where the line up of components is truly static I'm sure you are correct,
"auto-wiring" offers no real advantage. In this scenario anything beyond a
hardcoded Java factory is probably overkill.

On the other hand, in more complex scenarios it is good to be able to
separate configuration from implementation issues. Then we are most often
looking at XML configuration and being able to simply change the declartion
of the implementation of an interface in just one place and have all
components use the new implementation without having to change the
declaration for each component I find pretty cool.

"Auto-wiring" is just one way a CDI container can achieve this. The POJOs
implementing business behavior, mail behaviour in James' case, should
neither know or care how this is achieved. Whatever frameworks may exist to
assist this is purely a container issue.

James would only care to the extent that we would need a reference CDI
container to host a performat and easily configurable deployment for the
many people that want "a complete and portable enterprise mail engine
solution based on currently available open protocols". Such people should
not be expected to have any Java proficiency, but would want to be able to
easily deploy just the subset of components appropriate to their needs from
the set of available components. This is an argument for simple
configuration, of which "auto-wiring" is a small but useful part.

Thanks for your thoughts and good wishes.

-- Steve

To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org

View raw message