donaldp 01/11/09 12:44:21 Modified: src/java/org/apache/avalon/excalibur/naming/memory MemoryInitialContextFactory.java Log: Add more javadoc describing why MemoryInitialContextFactory should never be used in a real system and how to go about creating your own factory. Revision Changes Path 1.2 +25 -0 jakarta-avalon-excalibur/src/java/org/apache/avalon/excalibur/naming/memory/MemoryInitialContextFactory.java Index: MemoryInitialContextFactory.java =================================================================== RCS file: /home/cvs/jakarta-avalon-excalibur/src/java/org/apache/avalon/excalibur/naming/memory/MemoryInitialContextFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- MemoryInitialContextFactory.java 2001/08/08 14:26:28 1.1 +++ MemoryInitialContextFactory.java 2001/11/09 20:44:21 1.2 @@ -18,8 +18,33 @@ /** * Initial context factory for memorycontext. * + * <p><b>WARNING:</b> This class should never be use used in a real + * system. It is is just a class that demonstrates how to write a + * basic <code>InitialContextFactory</code> for MemeoryContext. + * However this factory creates a new Context every time which is + * rarely desired behaviour.</p> + * + * <p>In a real application you may want the policy of Context + * creation to be specific application. Some strategies include.</p> + * <ul> + * <li>ClassLoader-wide. ie Every user who is in same ClassLoader + * or loaded from a Child ClassLoader will see same JNDI tree. + * In this case the InitialContextFactory should cache root + * context in a static variable.</li> + * <li>Thread-specific. ie Give out initial context based on which + * thread the caller is in. In this case the InitialContextFactory + * should cache root context in a [Inheritable]ThreadLocal + * variable.</li> + * <li>Parameter-specific. ie Give out initial context based on + * a parameter passed in. The parameter could be passed in as + * PROVIDER_URL or another standard context property. In this + * case the InitialContextFactory should cache root context(s) + * in a static map variable that maps between parameter and + * context.</li> + * </ul> + * * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a> - * @version $Revision: 1.1 $ + * @version $Revision: 1.2 $ */ public class MemoryInitialContextFactory implements InitialContextFactory
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>