01: package org.apache.ojb.broker.transaction.tm;
02:
03: /* Copyright 2003-2005 The Apache Software Foundation
04: *
05: * Licensed under the Apache License, Version 2.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * 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: private static Logger log = LoggerFactory
25: .getLogger(TransactionManagerFactoryFactory.class);
26: private static TransactionManagerFactory tmInstance;
27: static {
28: try {
29: tmInstance = new TMFactoryFactory()
30: .createTransactionManagerFactory();
31: } catch (Exception e) {
32: log
33: .error(
34: "Instantiation of TransactionManagerFactory failed",
35: e);
36: }
37: }
38:
39: public synchronized static TransactionManagerFactory instance() {
40: return tmInstance;
41: }
42:
43: public static class TMFactoryFactory extends ConfigurableFactory {
44: protected String getConfigurationKey() {
45: return "JTATransactionManagerClass";
46: }
47:
48: protected TransactionManagerFactory createTransactionManagerFactory() {
49: return (TransactionManagerFactory) this.createNewInstance();
50: }
51: }
52: }
|