KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > ojb > broker > transaction > tm > TransactionManagerFactoryFactory


1 package org.apache.ojb.broker.transaction.tm;
2
3 /* Copyright 2003-2005 The Apache Software Foundation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17
18 import org.apache.ojb.broker.util.factory.ConfigurableFactory;
19 import org.apache.ojb.broker.util.logging.Logger;
20 import org.apache.ojb.broker.util.logging.LoggerFactory;
21 import org.apache.ojb.broker.transaction.tm.TransactionManagerFactory;
22
23 public class TransactionManagerFactoryFactory
24 {
25     private static Logger log = LoggerFactory.getLogger(TransactionManagerFactoryFactory.class);
26     private static TransactionManagerFactory tmInstance;
27     static
28     {
29         try
30         {
31             tmInstance = new TMFactoryFactory().createTransactionManagerFactory();
32         }
33         catch (Exception JavaDoc e)
34         {
35             log.error("Instantiation of TransactionManagerFactory failed", e);
36         }
37     }
38
39     public synchronized static TransactionManagerFactory instance()
40     {
41         return tmInstance;
42     }
43
44     public static class TMFactoryFactory extends ConfigurableFactory
45     {
46         protected String JavaDoc getConfigurationKey()
47         {
48             return "JTATransactionManagerClass";
49         }
50
51         protected TransactionManagerFactory createTransactionManagerFactory()
52         {
53             return (TransactionManagerFactory) this.createNewInstance();
54         }
55     }
56 }
57
Popular Tags