This patch provides a Guice based JNDI provider.
http://code.google.com/p/google-guice/issues/detail?id=259

I can't create wiki documents in guice so for now I've created a wiki
document in another project to describe how to use this JNDI provider
and how to bind Guice bindings to JNDI (am hoping if this patch gets
accepted we can move the wiki page to guice).
http://code.google.com/p/camel-extra/wiki/GuiceJndi

Some background for this. While Guice Ioc is a general replacement for
JNDI - there are times when developers need to work with JNDI (e.g.
for JSR250/EJB3 or legacy reasons) and sometimes there is value in
some kind of Registry or Service Locator pattern.

So this (pretty small & simple!) patch implements a JNDI provider
which uses Guice to create an Injector from one or more modules and
then exposes the bindings from the injector into JNDI. This lets you
use Guice to fully create the entire JNDI context in a simple easy way
letting folks use Guice for all their IoC needs while using JNDI if
and when it is required.

As an added bonus; this allows folks coming from a Spring background
who are used to a kinda registry with name lookup (the Spring
ApplicationContext) to be able to switch to JNDI (which is a standard
in the JDK no less) while still using Guice under the covers to
dependency inject the actual entries which are visible in JNDI. i.e.
we still use the neat type safe dependency injection mechanism to
create objects; but folks can, if they want - look them up in JNDI
using String names.

Thoughts?

-- 
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://open.iona.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to