You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2009/01/22 23:52:22 UTC

svn commit: r736840 - in /geronimo/server/trunk/plugins/connector-1_6: client-transaction-1_6/src/main/plan/ geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/ geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/ ge...

Author: djencks
Date: Thu Jan 22 14:52:22 2009
New Revision: 736840

URL: http://svn.apache.org/viewvc?rev=736840&view=rev
Log:
GERONIMO-4360 some implementation of connector 1.6 features, pretty much untested

Added:
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/TransactionInflowContextHandlerGBean.java   (with props)
Modified:
    geronimo/server/trunk/plugins/connector-1_6/client-transaction-1_6/src/main/plan/plan.xml
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManagerGBean.java
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/SecurityInflowContextHandler.java
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5/geronimo-ra.xml
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5_localtx/geronimo-ra.xml
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5_notx/geronimo-ra.xml
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/data/external-application-plan.xml
    geronimo/server/trunk/plugins/connector-1_6/transaction-1_6/src/main/plan/plan.xml

Modified: geronimo/server/trunk/plugins/connector-1_6/client-transaction-1_6/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/client-transaction-1_6/src/main/plan/plan.xml?rev=736840&r1=736839&r2=736840&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/client-transaction-1_6/src/main/plan/plan.xml (original)
+++ geronimo/server/trunk/plugins/connector-1_6/client-transaction-1_6/src/main/plan/plan.xml Thu Jan 22 14:52:22 2009
@@ -39,11 +39,16 @@
         <reference name="ScheduledPool">
             <name>DefaultThreadPool</name>
         </reference>
-        <reference name="TransactionManager">
-            <name>TransactionManager</name>
+        <reference name="InflowContextHandler">
         </reference>
     </gbean>
 
+    <gbean name="TransactionInflowContextHandler" class="org.apache.geronimo.connector.work.TransactionInflowContextHandlerGBean">
+        <reference name="XAWork">
+            <name>TransactionManager</name>
+        </reference>
+    </gbean>
+ 
     <gbean name="XidFactory" class="org.apache.geronimo.transaction.manager.XidFactoryImplGBean">
         <attribute name="tmId">71,84,77,73,68</attribute>
     </gbean>

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java?rev=736840&r1=736839&r2=736840&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java Thu Jan 22 14:52:22 2009
@@ -19,16 +19,17 @@
 
 import java.util.Map;
 
-import javax.resource.spi.ResourceAdapter;
-import javax.resource.spi.ResourceAdapterAssociation;
 import javax.resource.spi.XATerminator;
 import javax.resource.spi.work.WorkManager;
 
 import org.apache.geronimo.gbean.DynamicGBean;
 import org.apache.geronimo.gbean.DynamicGBeanDelegate;
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.gbean.GBeanLifecycle;
+import org.apache.geronimo.gbean.annotation.GBean;
+import org.apache.geronimo.gbean.annotation.ParamAttribute;
+import org.apache.geronimo.gbean.annotation.ParamReference;
+import org.apache.geronimo.gbean.annotation.ParamSpecial;
+import org.apache.geronimo.gbean.annotation.SpecialAttributeType;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.management.geronimo.JCAResourceAdapter;
 import org.apache.geronimo.transaction.manager.RecoverableTransactionManager;
@@ -37,6 +38,8 @@
  * 
  * @version $Revision$
  */
+
+@GBean(j2eeType = NameFactory.JCA_RESOURCE_ADAPTER)
 public class ResourceAdapterWrapperGBean extends ResourceAdapterWrapper implements GBeanLifecycle, DynamicGBean, JCAResourceAdapter {
 
     private final DynamicGBeanDelegate delegate;
@@ -47,7 +50,14 @@
         objectName = null;
     }
 
-    public ResourceAdapterWrapperGBean(String resourceAdapterClass, Map<String, String> messageListenerToActivationSpecMap, WorkManager workManager, XATerminator xaTerminator, RecoverableTransactionManager transactionManager, ClassLoader cl, String objectName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
+    public ResourceAdapterWrapperGBean(
+            @ParamAttribute(name="resourceAdapterClass") String resourceAdapterClass,
+            @ParamAttribute(name="messageListenerToActivationSpecMap") Map<String, String> messageListenerToActivationSpecMap,
+            @ParamReference(name="WorkManager", namingType = NameFactory.JCA_WORK_MANAGER)WorkManager workManager,
+            @ParamReference(name="XATerminator", namingType = NameFactory.JCA_WORK_MANAGER)XATerminator xaTerminator,
+            @ParamReference(name="TransactionManager", namingType = NameFactory.JTA_RESOURCE)RecoverableTransactionManager transactionManager,
+            @ParamSpecial(type= SpecialAttributeType.classLoader )ClassLoader cl,
+            @ParamSpecial(type= SpecialAttributeType.objectName )String objectName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
         super(objectName, resourceAdapterClass, messageListenerToActivationSpecMap, new GeronimoBootstrapContext (workManager, xaTerminator), transactionManager, cl);
         delegate = new DynamicGBeanDelegate();
         delegate.addAll(resourceAdapter);
@@ -83,31 +93,4 @@
         return false;
     }
 
-    public static final GBeanInfo GBEAN_INFO;
-
-    static {
-        GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(ResourceAdapterWrapperGBean.class, NameFactory.JCA_RESOURCE_ADAPTER);
-        infoBuilder.addAttribute("resourceAdapterClass", String.class, true);
-        infoBuilder.addAttribute("classLoader", ClassLoader.class, false);
-        infoBuilder.addAttribute("objectName", String.class, false);
-        infoBuilder.addAttribute("messageListenerToActivationSpecMap", Map.class, true);
-
-        infoBuilder.addReference("WorkManager", WorkManager.class, NameFactory.JCA_WORK_MANAGER);
-        infoBuilder.addReference("XATerminator", XATerminator.class, NameFactory.JCA_WORK_MANAGER);
-        infoBuilder.addReference("TransactionManager", RecoverableTransactionManager.class, NameFactory.JTA_RESOURCE);
-
-        infoBuilder.addOperation("registerResourceAdapterAssociation", new Class[]{ResourceAdapterAssociation.class});
-
-        infoBuilder.addInterface(ResourceAdapter.class);
-        infoBuilder.addInterface(JCAResourceAdapter.class);
-
-        infoBuilder.setConstructor(new String[]{"resourceAdapterClass", "messageListenerToActivationSpecMap", "WorkManager", "XATerminator", "TransactionManager", "classLoader", "objectName"});
-
-        GBEAN_INFO = infoBuilder.getBeanInfo();
-    }
-
-    public static GBeanInfo getGBeanInfo() {
-        return GBEAN_INFO;
-    }
-
 }

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManagerGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManagerGBean.java?rev=736840&r1=736839&r2=736840&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManagerGBean.java (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManagerGBean.java Thu Jan 22 14:52:22 2009
@@ -17,53 +17,29 @@
 
 package org.apache.geronimo.connector.work;
 
+import java.util.Collection;
 import java.util.concurrent.Executor;
-import java.util.Collections;
 
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.gbean.GBeanLifecycle;
+import org.apache.geronimo.gbean.annotation.GBean;
+import org.apache.geronimo.gbean.annotation.ParamReference;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
-import org.apache.geronimo.transaction.manager.XAWork;
 
 /**
  * 
  * @version $Revision$
  */
+@GBean(j2eeType = NameFactory.JCA_WORK_MANAGER)
 public class GeronimoWorkManagerGBean extends GeronimoWorkManager implements GBeanLifecycle {
 
     public GeronimoWorkManagerGBean() {
     }
 
-    public GeronimoWorkManagerGBean(Executor sync, Executor start, Executor sched, XAWork xaWork) {
-        super(sync, start, sched, Collections.<InflowContextHandler>singletonList(new TransactionInflowContextHandler(xaWork)));
+    public GeronimoWorkManagerGBean(@ParamReference(name="SyncPool") Executor sync,
+                                    @ParamReference(name="StartPool")Executor start,
+                                    @ParamReference(name="ScheduledPool") Executor sched,
+                                    @ParamReference(name="InflowContextHandler")Collection<InflowContextHandler> inflowContextHandlers) {
+        super(sync, start, sched, inflowContextHandlers);
     }
 
-    public static final GBeanInfo GBEAN_INFO;
-
-    static {
-        GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic(GeronimoWorkManagerGBean.class, NameFactory.JCA_WORK_MANAGER);
-        infoFactory.addInterface(GeronimoWorkManager.class);
-
-        infoFactory.addReference("SyncPool", Executor.class, GBeanInfoBuilder.DEFAULT_J2EE_TYPE);
-        infoFactory.addReference("StartPool", Executor.class, GBeanInfoBuilder.DEFAULT_J2EE_TYPE);
-        infoFactory.addReference("ScheduledPool", Executor.class, GBeanInfoBuilder.DEFAULT_J2EE_TYPE);
-
-        infoFactory.addReference("TransactionManager", XAWork.class, NameFactory.JTA_RESOURCE);
-
-        infoFactory.setConstructor(new String[]{
-            "SyncPool",
-            "StartPool",
-            "ScheduledPool",
-            "TransactionManager"});
-
-        GBEAN_INFO = infoFactory.getBeanInfo();
-    }
-
-    public static GBeanInfo getGBeanInfo() {
-        return GBEAN_INFO;
-    }
-
-
-
 }

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/SecurityInflowContextHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/SecurityInflowContextHandler.java?rev=736840&r1=736839&r2=736840&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/SecurityInflowContextHandler.java (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/SecurityInflowContextHandler.java Thu Jan 22 14:52:22 2009
@@ -20,6 +20,8 @@
 
 package org.apache.geronimo.connector.work;
 
+import java.util.Stack;
+
 import javax.resource.spi.work.WorkCompletedException;
 import javax.resource.spi.work.SecurityInflowContext;
 import javax.security.auth.Subject;
@@ -28,39 +30,72 @@
 import org.apache.geronimo.security.credentialstore.CredentialStore;
 import org.apache.geronimo.security.ContextManager;
 import org.apache.geronimo.security.Callers;
+import org.apache.geronimo.gbean.annotation.ParamAttribute;
+import org.apache.geronimo.gbean.annotation.GBean;
+import org.apache.geronimo.gbean.annotation.ParamReference;
 
 /**
- * @version $Rev:$ $Date:$
+ * @version $Rev$ $Date$
  */
+@GBean
 public class SecurityInflowContextHandler implements InflowContextHandler<SecurityInflowContext> {
 
     private final String realm;
+    private final Subject defaultSubject;
     private final Subject serviceSubject;
 
-    private final ThreadLocal<Callers> callers = new ThreadLocal<Callers>();
-
-    public SecurityInflowContextHandler(String realm, String serviceSubjectRealm, String serviceSubjectId, CredentialStore credentialStore) throws LoginException {
-        serviceSubject = credentialStore.getSubject(serviceSubjectRealm, serviceSubjectId);
+    private final ThreadLocal<Stack<Callers>> callers = new ThreadLocal<Stack<Callers>>() {
+        @Override
+        protected Stack<Callers> initialValue() {
+            return new Stack<Callers>();
+        }
+    };
+
+    public SecurityInflowContextHandler(@ParamAttribute(name="realm") String realm,
+                                        @ParamAttribute(name="defaultSubjectRealm")String defaultSubjectRealm,
+                                        @ParamAttribute(name="defaultSubjectId")String defaultSubjectId,
+                                        @ParamReference(name="DefaultCredentialStore") CredentialStore defaultCredentialStore,
+                                        @ParamAttribute(name="serviceSubjectRealm")String serviceSubjectRealm,
+                                        @ParamAttribute(name="serviceSubjectId")String serviceSubjectId,
+                                        @ParamReference(name="ServiceCredentialStore")CredentialStore serviceCredentialStore) throws LoginException {
+        if (defaultCredentialStore != null && defaultSubjectRealm != null && defaultSubjectId != null) {
+            defaultSubject = defaultCredentialStore.getSubject(defaultSubjectRealm, defaultSubjectId);
+        } else {
+            defaultSubject = ContextManager.EMPTY;
+        }
+        if (serviceCredentialStore != null && serviceSubjectRealm != null && serviceSubjectId != null) {
+            serviceSubject = serviceCredentialStore.getSubject(serviceSubjectRealm, serviceSubjectId);
+        } else {
+            serviceSubject = null;
+        }
         this.realm = realm;
     }
 
     public void before(SecurityInflowContext securityInflowContext) throws WorkCompletedException {
-        Subject clientSubject = new Subject();
-        ConnectorCallbackHandler callbackHandler = new ConnectorCallbackHandler(realm);
-        securityInflowContext.setupSecurityContext(callbackHandler, clientSubject, serviceSubject);
-        ContextManager.registerSubjectShort(clientSubject, callbackHandler.getCallerPrincipal(), callbackHandler.getGroups());
-        callers.set(ContextManager.getCallers());
+        Subject clientSubject;
+        if (securityInflowContext == null) {
+            clientSubject = defaultSubject;
+        } else {
+            clientSubject = new Subject();
+            ConnectorCallbackHandler callbackHandler = new ConnectorCallbackHandler(realm);
+            securityInflowContext.setupSecurityContext(callbackHandler, clientSubject, serviceSubject);
+            ContextManager.registerSubjectShort(clientSubject, callbackHandler.getCallerPrincipal(), callbackHandler.getGroups());
+        }
+        callers.get().push(ContextManager.getCallers());
         ContextManager.setCallers(clientSubject, clientSubject);
     }
 
     public void after(SecurityInflowContext securityInflowContext) throws WorkCompletedException {
         Subject clientSubject = ContextManager.getCurrentCaller();
-        ContextManager.popCallers(callers.get());
-        callers.remove();
+        ContextManager.popCallers(callers.get().pop());
         ContextManager.unregisterSubject(clientSubject);
     }
 
     public Class<SecurityInflowContext> getHandledClass() {
         return SecurityInflowContext.class;
     }
+
+    public boolean required() {
+        return true;
+    }
 }

Added: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/TransactionInflowContextHandlerGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/TransactionInflowContextHandlerGBean.java?rev=736840&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/TransactionInflowContextHandlerGBean.java (added)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/TransactionInflowContextHandlerGBean.java Thu Jan 22 14:52:22 2009
@@ -0,0 +1,36 @@
+/*
+ * 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.geronimo.connector.work;
+
+import org.apache.geronimo.transaction.manager.XAWork;
+import org.apache.geronimo.gbean.annotation.GBean;
+import org.apache.geronimo.gbean.annotation.ParamReference;
+import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+@GBean
+public class TransactionInflowContextHandlerGBean extends TransactionInflowContextHandler{
+    public TransactionInflowContextHandlerGBean(@ParamReference(name="XAWork", namingType = NameFactory.JTA_RESOURCE)XAWork xaWork) {
+        super(xaWork);
+    }
+}

Propchange: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/TransactionInflowContextHandlerGBean.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/TransactionInflowContextHandlerGBean.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/work/TransactionInflowContextHandlerGBean.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java?rev=736840&r1=736839&r2=736840&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java Thu Jan 22 14:52:22 2009
@@ -80,6 +80,7 @@
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.gbean.InvalidConfigurationException;
 import org.apache.geronimo.gbean.GBeanLifecycle;
+import org.apache.geronimo.gbean.MultiGBeanInfoFactory;
 import org.apache.geronimo.j2ee.deployment.ActivationSpecInfoLocator;
 import org.apache.geronimo.j2ee.deployment.ConnectorModule;
 import org.apache.geronimo.j2ee.deployment.EARContext;
@@ -456,7 +457,7 @@
         ResourceadapterType resourceadapter = connector.getResourceadapter();
         // Create the resource adapter gbean
         if (resourceadapter.isSetResourceadapterClass()) {
-            GBeanInfoBuilder resourceAdapterInfoBuilder = new GBeanInfoBuilder(ResourceAdapterWrapperGBean.class, ResourceAdapterWrapperGBean.GBEAN_INFO);
+            GBeanInfoBuilder resourceAdapterInfoBuilder = new GBeanInfoBuilder(ResourceAdapterWrapperGBean.class, new MultiGBeanInfoFactory().getGBeanInfo(ResourceAdapterWrapperGBean.class));
             String resourceAdapterClassName = resourceadapter.getResourceadapterClass().getStringValue().trim();
             GBeanData resourceAdapterGBeanData = setUpDynamicGBeanWithProperties(resourceAdapterClassName, resourceAdapterInfoBuilder, resourceadapter.getConfigPropertyArray(), cl, Collections.<String>emptySet());
 

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5/geronimo-ra.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5/geronimo-ra.xml?rev=736840&r1=736839&r2=736840&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5/geronimo-ra.xml (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5/geronimo-ra.xml Thu Jan 22 14:52:22 2009
@@ -133,7 +133,12 @@
         <reference name="ScheduledPool">
             <name>DefaultThreadPool</name>
         </reference>
-        <reference name="TransactionManager">
+        <reference name="InflowContextHandler">
+        </reference>
+    </gbean>
+
+    <gbean name="TransactionInflowContextHandler" class="org.apache.geronimo.connector.work.TransactionInflowContextHandlerGBean">
+        <reference name="XAWork">
             <name>TransactionManager</name>
         </reference>
     </gbean>

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5_localtx/geronimo-ra.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5_localtx/geronimo-ra.xml?rev=736840&r1=736839&r2=736840&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5_localtx/geronimo-ra.xml (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5_localtx/geronimo-ra.xml Thu Jan 22 14:52:22 2009
@@ -132,7 +132,12 @@
         <reference name="ScheduledPool">
             <name>DefaultThreadPool</name>
         </reference>
-        <reference name="TransactionManager">
+        <reference name="InflowContextHandler">
+        </reference>
+    </gbean>
+
+    <gbean name="TransactionInflowContextHandler" class="org.apache.geronimo.connector.work.TransactionInflowContextHandlerGBean">
+        <reference name="XAWork">
             <name>TransactionManager</name>
         </reference>
     </gbean>

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5_notx/geronimo-ra.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5_notx/geronimo-ra.xml?rev=736840&r1=736839&r2=736840&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5_notx/geronimo-ra.xml (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/connector_1_5_notx/geronimo-ra.xml Thu Jan 22 14:52:22 2009
@@ -118,7 +118,12 @@
         <attribute name="syncMaximumPoolSize">10</attribute>
         <attribute name="startMaximumPoolSize">10</attribute>
         <attribute name="scheduledMaximumPoolSize">10</attribute>
-        <reference name="TransactionManager">
+        <reference name="InflowContextHandler">
+        </reference>
+    </gbean>
+
+    <gbean name="TransactionInflowContextHandler" class="org.apache.geronimo.connector.work.TransactionInflowContextHandlerGBean">
+        <reference name="XAWork">
             <name>TransactionManager</name>
         </reference>
     </gbean>

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/data/external-application-plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/data/external-application-plan.xml?rev=736840&r1=736839&r2=736840&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/data/external-application-plan.xml (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/resources/data/external-application-plan.xml Thu Jan 22 14:52:22 2009
@@ -211,7 +211,12 @@
         <reference name="ScheduledPool">
             <name>DefaultThreadPool</name>
         </reference>
-        <reference name="TransactionManager">
+        <reference name="InflowContextHandler">
+        </reference>
+    </gbean>
+
+    <gbean name="TransactionInflowContextHandler" class="org.apache.geronimo.connector.work.TransactionInflowContextHandlerGBean">
+        <reference name="XAWork">
             <name>TransactionManager</name>
         </reference>
     </gbean>

Modified: geronimo/server/trunk/plugins/connector-1_6/transaction-1_6/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/transaction-1_6/src/main/plan/plan.xml?rev=736840&r1=736839&r2=736840&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/transaction-1_6/src/main/plan/plan.xml (original)
+++ geronimo/server/trunk/plugins/connector-1_6/transaction-1_6/src/main/plan/plan.xml Thu Jan 22 14:52:22 2009
@@ -44,11 +44,30 @@
         <reference name="ScheduledPool">
             <name>ConnectorThreadPool</name>
         </reference>
-        <reference name="TransactionManager">
+        <reference name="InflowContextHandler">
+        </reference>
+    </gbean>
+
+    <gbean name="TransactionInflowContextHandler" class="org.apache.geronimo.connector.work.TransactionInflowContextHandlerGBean">
+        <reference name="XAWork">
             <name>TransactionManager</name>
         </reference>
     </gbean>
 
+    <gbean name="SecurityInflowContextHandler" class="org.apache.geronimo.connector.work.SecurityInflowContextHandler">
+        <attribute name="realm">geronimo-admin</attribute>
+        <!--<attribute name="defaultSubjectRealm">geronimo-admin</attribute>-->
+        <!--<attribute name="defaultSubjectId">foo</attribute>-->
+        <!--<reference name="DefaultCredentialStore">-->
+            <!--<name>DefaultCredentialStore</name>-->
+        <!--</reference>-->
+        <!--<attribute name="serverSubjectRealm">geronimo-admin</attribute>-->
+        <!--<attribute name="serverSubjectId">foo</attribute>-->
+        <!--<reference name="ServerCredentialStore">-->
+            <!--<name>ServerCredentialStore</name>-->
+        <!--</reference>-->
+    </gbean>
+
     <!-- 
         Maximum log file size is 2 Megs (4K * 512). Buffer size can't be changed once the files
         have been created.