/* * Bitronix Transaction Manager * * Copyright (c) 2010, Bitronix Software. * * This copyrighted material is made available to anyone wishing to use, modify, * copy, or redistribute it subject to the terms and conditions of the GNU * Lesser General Public License, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this distribution; if not, write to: * Free Software Foundation, Inc. * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ package bitronix.tm.jndi; import javax.naming.spi.InitialContextFactory; import javax.naming.Context; import javax.naming.NamingException; import java.util.Hashtable; /** * Implementation of {@link InitialContextFactory} that allows lookup of transaction manager * and registered resources. * <p> * The easiest way to use this provider is to create a <code>jndi.properties</code> file * in your classpath with this content: * <pre>java.naming.factory.initial=bitronix.tm.jndi.BitronixInitialContextFactory</pre> * Alternatively, you can create a {@link javax.naming.InitialContext} object with an environment * pointing to this class: * <pre> * Hashtable env = new Hashtable(); * env.put(Context.INITIAL_CONTEXT_FACTORY, "bitronix.tm.jndi.BitronixInitialContextFactory"); * Context ctx = new InitialContext(env); * </pre> * </p> * <p>The transaction manager can be looked up at the standard URL <code>java:comp/UserTransaction</code> * while resources can be looked up using their unique name as set in * {@link bitronix.tm.resource.common.ResourceBean#getUniqueName()}. * </p> * * @author lorban * @see bitronix.tm.jndi.BitronixContext */ public class BitronixInitialContextFactory implements InitialContextFactory { public Context getInitialContext(Hashtable hashtable) throws NamingException { return new BitronixContext(); } public String toString() { return "a BitronixInitialContextFactory"; } }