01: //$Id: JNDITransactionManagerLookup.java 3890 2004-06-03 16:31:32Z steveebersole $
02: package org.hibernate.transaction;
03:
04: import java.util.Properties;
05:
06: import javax.naming.NamingException;
07: import javax.transaction.TransactionManager;
08:
09: import org.hibernate.HibernateException;
10: import org.hibernate.util.NamingHelper;
11:
12: /**
13: * Locates a <tt>TransactionManager</tt> in JNDI.
14: * @author Gavin King
15: */
16: public abstract class JNDITransactionManagerLookup implements
17: TransactionManagerLookup {
18:
19: /**
20: * @see org.hibernate.transaction.TransactionManagerLookup#getTransactionManager(java.util.Properties)
21: */
22: public TransactionManager getTransactionManager(Properties props)
23: throws HibernateException {
24: try {
25: return (TransactionManager) NamingHelper.getInitialContext(
26: props).lookup(getName());
27: } catch (NamingException ne) {
28: throw new HibernateException(
29: "Could not locate TransactionManager", ne);
30: }
31: }
32:
33: protected abstract String getName();
34:
35: }
|