From ccdcdd0c438aed08d8e7da61c5fadddec99d6ec9 Mon Sep 17 00:00:00 2001 From: lresende Date: Wed, 3 Mar 2010 17:16:37 +0000 Subject: TUSCANY-3474 - Further splitting policy transaction policy to allow for a shared ProviderFactory and Providers... with TransactionManager specific code available into specific modules (e.g transaction-policy-runtime-geronimo) git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@918585 13f79535-47bb-0310-9956-ffa450edef68 --- .../runtime/TransactionManagerWrapper.java | 90 ---------- .../runtime/TransactionModuleActivator.java | 89 ---------- .../org.apache.tuscany.sca.core.ModuleActivator | 18 -- .../TransactionManagerHelperTestCaseOFF.java | 196 --------------------- 4 files changed, 393 deletions(-) delete mode 100644 sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionManagerWrapper.java delete mode 100644 sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionModuleActivator.java delete mode 100644 sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 sca-java-2.x/trunk/modules/policy-transaction-runtime/src/test/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionManagerHelperTestCaseOFF.java (limited to 'sca-java-2.x/trunk/modules/policy-transaction-runtime/src') diff --git a/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionManagerWrapper.java b/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionManagerWrapper.java deleted file mode 100644 index eac7293e62..0000000000 --- a/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionManagerWrapper.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.transaction.runtime; - -import java.io.File; - -import javax.transaction.TransactionManager; - -import org.apache.geronimo.transaction.log.HOWLLog; -import org.apache.geronimo.transaction.manager.GeronimoTransactionManager; -import org.apache.geronimo.transaction.manager.XidFactory; -import org.apache.geronimo.transaction.manager.XidFactoryImpl; - -/** - * @version $Rev$ $Date$ - */ -public class TransactionManagerWrapper { - private TransactionManager transactionManager; - private HOWLLog howlLog; - - private String logFileDir = "target/logs"; - private String bufferClassName = "org.objectweb.howl.log.BlockLogBuffer"; - private int bufferSizeKBytes = 32; - private boolean checksumEnabled = true; - private boolean adler32Checksum = true; - private int flushSleepTimeMilliseconds = 50; - private String logFileExt = "log"; - private String logFileName = "transaction"; - private int maxBlocksPerFile = -1; - private int maxLogFiles = 2; - private int maxBuffers = 0; - private int minBuffers = 4; - private int threadsWaitingForceThreshold = -1; - private File serverBaseDir = new File(System.getProperty("basedir", System.getProperty("user.dir"))); - - public TransactionManagerWrapper() { - super(); - } - - public void start() { - try { - XidFactory xidFactory = new XidFactoryImpl(); - howlLog = - new HOWLLog(bufferClassName, bufferSizeKBytes, checksumEnabled, adler32Checksum, - flushSleepTimeMilliseconds, logFileDir, logFileExt, logFileName, maxBlocksPerFile, - maxBuffers, maxLogFiles, minBuffers, threadsWaitingForceThreshold, xidFactory, - serverBaseDir); - - howlLog.doStart(); - transactionManager = new GeronimoTransactionManager(1200, xidFactory, howlLog); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - - /** - * @see org.apache.tuscany.sca.core.ModuleActivator#stop(org.apache.tuscany.sca.core.ExtensionPointRegistry) - */ - public void stop() { - try { - if (howlLog != null) { - howlLog.doStop(); - } - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - - public TransactionManager getTransactionManager() { - return transactionManager; - } - -} diff --git a/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionModuleActivator.java b/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionModuleActivator.java deleted file mode 100644 index b027f3c117..0000000000 --- a/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionModuleActivator.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.transaction.runtime; - -import javax.transaction.TransactionManager; - -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.ModuleActivator; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; - -/** - * @version $Rev$ $Date$ - */ -public class TransactionModuleActivator implements ModuleActivator { - private TransactionManagerWrapper wrapper; - private ExtensionPointRegistry registry; - - public TransactionModuleActivator(ExtensionPointRegistry registry) { - this.registry = registry; - } - - /** - * @see org.apache.tuscany.sca.core.ModuleActivator#start(org.apache.tuscany.sca.core.ExtensionPointRegistry) - */ - public void start() { - if (registry != null) { - UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class); - TransactionManager transactionManager = utilities.getUtility(TransactionManager.class); - if (transactionManager != null) { - // The transaction manage is provided by the hosting environment -// RuntimeWireProcessorExtensionPoint wireProcessorExtensionPoint = -// registry.getExtensionPoint(RuntimeWireProcessorExtensionPoint.class); -// TransactionManagerHelper helper = new TransactionManagerHelper(transactionManager); -// wireProcessorExtensionPoint.addWireProcessor(new TransactionRuntimeWireProcessor(helper)); - return; - } - } - try { - wrapper = new TransactionManagerWrapper(); - wrapper.start(); - } catch (Exception e) { - throw new IllegalStateException(e); - } - if (registry != null) { - UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class); - utilities.addUtility(wrapper.getTransactionManager()); -// RuntimeWireProcessorExtensionPoint wireProcessorExtensionPoint = -// registry.getExtensionPoint(RuntimeWireProcessorExtensionPoint.class); -// TransactionManagerHelper helper = new TransactionManagerHelper(wrapper.getTransactionManager()); -// wireProcessorExtensionPoint.addWireProcessor(new TransactionRuntimeWireProcessor(helper)); - } - } - - /** - * @see org.apache.tuscany.sca.core.ModuleActivator#stop(org.apache.tuscany.sca.core.ExtensionPointRegistry) - */ - public void stop() { - try { - if (wrapper != null) { - wrapper.stop(); - wrapper = null; - } - if (registry != null && wrapper != null) { - UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class); - utilities.removeUtility(wrapper.getTransactionManager()); - } - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - -} diff --git a/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator deleted file mode 100644 index 8e7b3d1728..0000000000 --- a/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# Implementation class for the ModuleActivator -org.apache.tuscany.sca.policy.transaction.runtime.TransactionModuleActivator diff --git a/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/test/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionManagerHelperTestCaseOFF.java b/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/test/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionManagerHelperTestCaseOFF.java deleted file mode 100644 index 18d42848d7..0000000000 --- a/sca-java-2.x/trunk/modules/policy-transaction-runtime/src/test/java/org/apache/tuscany/sca/policy/transaction/runtime/TransactionManagerHelperTestCaseOFF.java +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.transaction.runtime; - -import java.util.logging.Logger; - -import javax.transaction.Transaction; -import javax.transaction.TransactionManager; -import javax.transaction.xa.XAException; -import javax.transaction.xa.XAResource; -import javax.transaction.xa.Xid; - -import junit.framework.TestCase; - -import org.apache.geronimo.transaction.manager.NamedXAResource; -import org.apache.tuscany.sca.policy.transaction.runtime.TransactionManagerHelper; -import org.apache.tuscany.sca.policy.transaction.runtime.TransactionManagerWrapper; - -/** - * @version $Rev$ $Date$ - */ -public class TransactionManagerHelperTestCaseOFF extends TestCase { - private static final Logger logger = Logger.getLogger(TransactionManagerHelper.class.getName()); - - public static class MockXAResource implements NamedXAResource { - - private String rm; - private String id; - private int timeout = 1000; - - public MockXAResource(String rm, String id) { - super(); - this.rm = rm; - this.id = id; - } - - public String getName() { - return rm + ":" + id; - } - - public void commit(Xid xid, boolean onePhase) throws XAException { - logger.info(id + ": commit(" + xid + "," + onePhase + ")"); - } - - public void end(Xid xid, int flags) throws XAException { - logger.info(id + ": end(" + xid + "," + toString(flags) + ")"); - } - - public void forget(Xid xid) throws XAException { - logger.info(id + ": forget(" + xid + ")"); - } - - public int getTransactionTimeout() throws XAException { - return timeout; - } - - public boolean isSameRM(XAResource xares) throws XAException { - if (xares instanceof MockXAResource) { - MockXAResource res = (MockXAResource)xares; - return res.rm.endsWith(rm); - } else { - return false; - } - } - - public int prepare(Xid xid) throws XAException { - logger.info(id + ": prepare(" + xid + ")"); - return XA_OK; - } - - public Xid[] recover(int flag) throws XAException { - return null; - } - - public void rollback(Xid xid) throws XAException { - logger.info(id + ": rollback(" + xid + ")"); - } - - public boolean setTransactionTimeout(int seconds) throws XAException { - this.timeout = seconds; - return true; - } - - public void start(Xid xid, int flags) throws XAException { - logger.info(id + ": start(" + xid + "," + toString(flags) + ")"); - } - - private String toString(int flags) { - StringBuffer sb = new StringBuffer(); - if ((flags & TMENDRSCAN) != 0) { - sb.append("TMENDRSCAN "); - } - if ((flags & TMFAIL) != 0) { - sb.append("TMFAIL "); - } - if ((flags & TMJOIN) != 0) { - sb.append("TMJOIN "); - } - if ((flags & TMONEPHASE) != 0) { - sb.append("TMONEPHASE "); - } - if ((flags & TMRESUME) != 0) { - sb.append("TMRESUME "); - } - if ((flags & TMSTARTRSCAN) != 0) { - sb.append("TMSTARTRSCAN "); - } - if ((flags & TMSUCCESS) != 0) { - sb.append("TMSUCCESS "); - } - if ((flags & TMSUSPEND) != 0) { - sb.append("TMSUSPEND "); - } - if (sb.length() == 0) { - sb.append("TMNOFLAGS"); - } else { - sb.deleteCharAt(sb.length() - 1); - } - return sb.toString(); - } - - } - - public void testHelper() throws Exception { - TransactionManagerWrapper activator = new TransactionManagerWrapper(); - activator.start(); - TransactionManager tm = activator.getTransactionManager(); - // GeronimoUserTransaction tx = new GeronimoUserTransaction(tm); - TransactionManagerHelper helper = new TransactionManagerHelper(tm); - - // No TX yet - assertNull(tm.getTransaction()); - Transaction t1 = helper.managedGlobalTransactionPreInvoke(); - // Should create T1 - assertNotNull(t1); - // The current TX should be T1 - assertSame(t1, tm.getTransaction()); - - XAResource res1 = new MockXAResource("Derby", "001"); - XAResource res2 = new MockXAResource("DB2", "002"); - tm.getTransaction().enlistResource(res1); - tm.getTransaction().enlistResource(res2); - - Transaction suspended = helper.suspendsTransactionPreInvoke(); - suspended.delistResource(res1, XAResource.TMSUSPEND); - suspended.delistResource(res2, XAResource.TMSUSPEND); - - // T1 is suspended - assertSame(t1, suspended); - // No more active TX - assertNull(tm.getTransaction()); - - Transaction t2 = helper.managedGlobalTransactionPreInvoke(); - assertNotNull(t2); - // The current TX should be T2 - assertSame(t2, tm.getTransaction()); - - XAResource res3 = new MockXAResource("Oracle", "003"); - tm.getTransaction().enlistResource(res3); - - tm.getTransaction().delistResource(res3, XAResource.TMSUCCESS); - tm.rollback(); - - // Skip post - // helper.managedGlobalTransactionPostInvoke(t2); - - helper.suspendsTransactionPostInvoke(suspended); - suspended.enlistResource(res1); - suspended.enlistResource(res2); - // T1 is now resumed - assertSame(t1, tm.getTransaction()); - - helper.managedGlobalTransactionPostInvoke(t1, false); - assertNotNull(tm.getTransaction()); - assertEquals(6, t1.getStatus()); - - activator.stop(); - } -} -- cgit v1.2.3