org.apache.ojb.broker.transaction.tm
Class AbstractTransactionManagerFactory

java.lang.Object
  extended by org.apache.ojb.broker.transaction.tm.AbstractTransactionManagerFactory
All Implemented Interfaces:
TransactionManagerFactory
Direct Known Subclasses:
JBossTransactionManagerFactory, JOnASTransactionManagerFactory, OrionTransactionManagerFactory, SunOneTransactionManagerFactory, WeblogicTransactionManagerFactory, WebSphereTransactionManagerFactory

public abstract class AbstractTransactionManagerFactory
extends java.lang.Object
implements TransactionManagerFactory

Abstract base class implementation of the TransactionManagerFactory interface, all derived classes have to implement method getLookupInfo().

Version:
$Id: AbstractTransactionManagerFactory.java 365232 2005-12-21 22:36:07Z tomdz $
Author:
Armin Waibel

Field Summary
static java.lang.String TM_DEFAULT_METHOD_NAME
          Returns "getTransactionManager";
 
Constructor Summary
AbstractTransactionManagerFactory()
           
 
Method Summary
abstract  java.lang.String[][] getLookupInfo()
          Returns an array of possible JNDI lookup / class names for the TransactionManager instance.
 javax.transaction.TransactionManager getTransactionManager()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TM_DEFAULT_METHOD_NAME

public static java.lang.String TM_DEFAULT_METHOD_NAME
Returns "getTransactionManager";

Constructor Detail

AbstractTransactionManagerFactory

public AbstractTransactionManagerFactory()
Method Detail

getLookupInfo

public abstract java.lang.String[][] getLookupInfo()
Returns an array of possible JNDI lookup / class names for the TransactionManager instance. An array was used because for different application server versions the JNDI/class name may change.

Expect an [n][3] string array. Following arguments are available:

Example:

{{"JBoss", "java:/TransactionManager", null}};
In JBoss we lookup the TM via JNDI, so we don't need a TM factory class.

{{"Websphere 4", TM_DEFAULT_METHOD_NAME, "com.ibm.ejs.jts.jta.JTSXA"},
{"Websphere 5", TM_DEFAULT_METHOD_NAME, "com.ibm.ejs.jts.jta.TransactionManagerFactory"},
{"Websphere >5", TM_DEFAULT_METHOD_NAME, "com.ibm.ws.Transaction.TransactionManagerFactory"}};
In Websphere we have to use a TM factory class and obtain the TM via a getTransactionManager() method call. The TM factory class is varied in different versions.


getTransactionManager

public javax.transaction.TransactionManager getTransactionManager()
                                                           throws TransactionManagerFactoryException
Specified by:
getTransactionManager in interface TransactionManagerFactory
Throws:
TransactionManagerFactoryException
See Also:
TransactionManagerFactory


(C) 2002 - 2006 Apache Software Foundation
All rights reserved. Published under the Apache License 2.0.
http://db.apache.org/ojb
Version: 1.0.4, 2005-12-30