geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d...@apache.org
Subject svn commit: r517486 - in /geronimo/server/trunk: configs/openejb/src/plan/ modules/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ modules/geronimo-connector/src/main/java/org/apache/geronimo/connector/ modules/geroni...
Date Tue, 13 Mar 2007 01:30:25 GMT
Author: dain
Date: Mon Mar 12 18:30:24 2007
New Revision: 517486

URL: http://svn.apache.org/viewvc?view=rev&rev=517486
Log:
Add support for MDB deployment

Modified:
    geronimo/server/trunk/configs/openejb/src/plan/plan.xml
    geronimo/server/trunk/modules/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
    geronimo/server/trunk/modules/geronimo-connector/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapper.java
    geronimo/server/trunk/modules/geronimo-connector/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java
    geronimo/server/trunk/modules/geronimo-openejb-builder/geronimo-openejb.xml
    geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java
    geronimo/server/trunk/modules/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/OpenEjbSystemGBean.java
    geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java

Modified: geronimo/server/trunk/configs/openejb/src/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/configs/openejb/src/plan/plan.xml?view=diff&rev=517486&r1=517485&r2=517486
==============================================================================
--- geronimo/server/trunk/configs/openejb/src/plan/plan.xml (original)
+++ geronimo/server/trunk/configs/openejb/src/plan/plan.xml Mon Mar 12 18:30:24 2007
@@ -24,6 +24,7 @@
         <reference name="TransactionManager">
             <name>TransactionManager</name>
         </reference>
+        <reference name="ResourceAdapterWrappers"/>
     </gbean>
 
     <gbean name="DefaultStatelessContainer" class="org.apache.geronimo.openejb.EjbContainer">

Modified: geronimo/server/trunk/modules/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java?view=diff&rev=517486&r1=517485&r2=517486
==============================================================================
--- geronimo/server/trunk/modules/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java (original)
+++ geronimo/server/trunk/modules/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java Mon Mar 12 18:30:24 2007
@@ -33,6 +33,7 @@
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Set;
+import java.util.TreeMap;
 import java.util.jar.JarFile;
 import java.util.zip.ZipEntry;
 
@@ -99,7 +100,17 @@
 import org.apache.geronimo.naming.deployment.ENCConfigBuilder;
 import org.apache.geronimo.naming.reference.ResourceReference;
 import org.apache.geronimo.schema.SchemaConversionUtils;
-import org.apache.geronimo.xbeans.geronimo.*;
+import org.apache.geronimo.xbeans.geronimo.GerAdminobjectInstanceType;
+import org.apache.geronimo.xbeans.geronimo.GerAdminobjectType;
+import org.apache.geronimo.xbeans.geronimo.GerConfigPropertySettingType;
+import org.apache.geronimo.xbeans.geronimo.GerConnectionDefinitionType;
+import org.apache.geronimo.xbeans.geronimo.GerConnectiondefinitionInstanceType;
+import org.apache.geronimo.xbeans.geronimo.GerConnectionmanagerType;
+import org.apache.geronimo.xbeans.geronimo.GerConnectorDocument;
+import org.apache.geronimo.xbeans.geronimo.GerConnectorType;
+import org.apache.geronimo.xbeans.geronimo.GerPartitionedpoolType;
+import org.apache.geronimo.xbeans.geronimo.GerResourceadapterType;
+import org.apache.geronimo.xbeans.geronimo.GerSinglepoolType;
 import org.apache.geronimo.xbeans.j2ee.ActivationspecType;
 import org.apache.geronimo.xbeans.j2ee.AdminobjectType;
 import org.apache.geronimo.xbeans.j2ee.ConfigPropertyType;
@@ -407,6 +418,17 @@
             GBeanData resourceAdapterGBeanData = setUpDynamicGBean(resourceAdapterInfoBuilder, resourceadapter.getConfigPropertyArray(), cl);
 
             resourceAdapterGBeanData.setAttribute("resourceAdapterClass", resourceadapter.getResourceadapterClass().getStringValue().trim());
+
+            // Add map from messageListenerInterface to activationSpec class
+            Map<String,String> messageListenerToActivationSpecMap = new TreeMap<String,String>();
+            for (MessagelistenerType messagelistenerType : resourceadapter.getInboundResourceadapter().getMessageadapter().getMessagelistenerArray()) {
+                String messageListenerInterface = messagelistenerType.getMessagelistenerType().getStringValue().trim();
+                ActivationspecType activationspec = messagelistenerType.getActivationspec();
+                String activationSpecClassName = activationspec.getActivationspecClass().getStringValue().trim();
+                messageListenerToActivationSpecMap.put(messageListenerInterface, activationSpecClassName);
+                resourceAdapterGBeanData.setAttribute("messageListenerToActivationSpecMap", messageListenerToActivationSpecMap);
+            }
+
             resourceAdapterModuleData.setAttribute("resourceAdapterGBeanData", resourceAdapterGBeanData);
         }
 
@@ -439,8 +461,8 @@
 
         GBeanData jcaResourceData = new GBeanData(jcaResourcejsr77Name, JCAResourceImplGBean.GBEAN_INFO);
         Map thisModule = new LinkedHashMap(2);
-        thisModule .put(NameFactory.J2EE_APPLICATION, resourceAdapterModuleName.getNameProperty(NameFactory.J2EE_APPLICATION));
-        thisModule .put(NameFactory.RESOURCE_ADAPTER_MODULE, resourceAdapterModuleName.getNameProperty(NameFactory.J2EE_NAME));
+        thisModule.put(NameFactory.J2EE_APPLICATION, resourceAdapterModuleName.getNameProperty(NameFactory.J2EE_APPLICATION));
+        thisModule.put(NameFactory.RESOURCE_ADAPTER_MODULE, resourceAdapterModuleName.getNameProperty(NameFactory.J2EE_NAME));
         jcaResourceData.setReferencePattern("ConnectionFactories", new AbstractNameQuery(resourceAdapterModuleName.getArtifact(), thisModule, JCAConnectionFactory.class.getName()));
         jcaResourceData.setReferencePattern("ResourceAdapters", new AbstractNameQuery(resourceAdapterModuleName.getArtifact(), thisModule, JCAResourceAdapter.class.getName()));
         jcaResourceData.setReferencePattern("AdminObjects", new AbstractNameQuery(resourceAdapterModuleName.getArtifact(), thisModule, JCAAdminObject.class.getName()));
@@ -556,7 +578,6 @@
             }
         }
     }
-
     private Map getActivationSpecInfoMap(MessagelistenerType[] messagelistenerArray, ClassLoader cl) throws DeploymentException {
         Map activationSpecInfos = new HashMap();
         for (int i = 0; i < messagelistenerArray.length; i++) {

Modified: geronimo/server/trunk/modules/geronimo-connector/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-connector/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapper.java?view=diff&rev=517486&r1=517485&r2=517486
==============================================================================
--- geronimo/server/trunk/modules/geronimo-connector/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapper.java (original)
+++ geronimo/server/trunk/modules/geronimo-connector/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapper.java Mon Mar 12 18:30:24 2007
@@ -25,6 +25,7 @@
 import javax.resource.spi.ResourceAdapterInternalException;
 import javax.resource.spi.endpoint.MessageEndpointFactory;
 import javax.transaction.xa.XAResource;
+import java.util.Map;
 
 /**
  * Dynamic GBean wrapper around a ResourceAdapter object, exposing the config-properties as
@@ -34,39 +35,63 @@
  */
 public class ResourceAdapterWrapper implements ResourceAdapter {
 
+    private final String name;
+
     private final String resourceAdapterClass;
 
     private final BootstrapContext bootstrapContext;
 
     protected final ResourceAdapter resourceAdapter;
 
+    private final Map<String,String> messageListenerToActivationSpecMap;
+
 
     /**
      *  default constructor for enhancement proxy endpoint
      */
     public ResourceAdapterWrapper() {
+        this.name = null;
         this.resourceAdapterClass = null;
         this.bootstrapContext = null;
         this.resourceAdapter = null;
+        this.messageListenerToActivationSpecMap = null;
     }
 
-    public ResourceAdapterWrapper(String resourceAdapterClass,
+    public ResourceAdapterWrapper(String name,
+            String resourceAdapterClass,
+            Map<String,String> messageListenerToActivationSpecMap,
             BootstrapContext bootstrapContext,
             ClassLoader cl) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
+        this.name = name;
         this.resourceAdapterClass = resourceAdapterClass;
         this.bootstrapContext = bootstrapContext;
         Class clazz = cl.loadClass(resourceAdapterClass);
         resourceAdapter = (ResourceAdapter) clazz.newInstance();
+        this.messageListenerToActivationSpecMap = messageListenerToActivationSpecMap;
     }
     
-    public ResourceAdapterWrapper(ResourceAdapter resourceAdapter, BootstrapContext bootstrapContext) {
+    public ResourceAdapterWrapper(String name, ResourceAdapter resourceAdapter, Map<String,String> messageListenerToActivationSpecMap, BootstrapContext bootstrapContext) {
+        this.name = name;
         this.resourceAdapterClass = resourceAdapter.getClass().getName();
         this.bootstrapContext = bootstrapContext;
         this.resourceAdapter = resourceAdapter;
+        this.messageListenerToActivationSpecMap = messageListenerToActivationSpecMap;
+    }
+
+    public String getName() {
+        return name;
     }
 
     public String getResourceAdapterClass() {
         return resourceAdapterClass;
+    }
+
+    public Map<String,String> getMessageListenerToActivationSpecMap() {
+        return messageListenerToActivationSpecMap;
+    }
+
+    public ResourceAdapter getResourceAdapter() {
+        return resourceAdapter;
     }
 
     public void registerResourceAdapterAssociation(final ResourceAdapterAssociation resourceAdapterAssociation) throws ResourceException {

Modified: geronimo/server/trunk/modules/geronimo-connector/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-connector/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java?view=diff&rev=517486&r1=517485&r2=517486
==============================================================================
--- geronimo/server/trunk/modules/geronimo-connector/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java (original)
+++ geronimo/server/trunk/modules/geronimo-connector/src/main/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java Mon Mar 12 18:30:24 2007
@@ -29,6 +29,7 @@
 import javax.resource.spi.ResourceAdapterAssociation;
 import javax.resource.spi.XATerminator;
 import javax.resource.spi.work.WorkManager;
+import java.util.Map;
 
 /**
  * 
@@ -44,8 +45,8 @@
         objectName = null;
     }
 
-    public ResourceAdapterWrapperGBean(String resourceAdapterClass, WorkManager workManager, XATerminator xaTerminator, ClassLoader cl, String objectName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
-        super(resourceAdapterClass, new GeronimoBootstrapContext (workManager, xaTerminator), cl);
+    public ResourceAdapterWrapperGBean(String resourceAdapterClass, Map<String,String> messageListenerToActivationSpecMap, WorkManager workManager, XATerminator xaTerminator, ClassLoader cl, String objectName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
+        super(objectName, resourceAdapterClass, messageListenerToActivationSpecMap, new GeronimoBootstrapContext (workManager, xaTerminator), cl);
         delegate = new DynamicGBeanDelegate();
         delegate.addAll(resourceAdapter);
         this.objectName = objectName;
@@ -73,7 +74,7 @@
     }
 
     public boolean isStatisticsProvider() {
-        return false;
+        return false;                 
     }
 
     public boolean isEventProvider() {
@@ -87,6 +88,7 @@
         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);
@@ -96,7 +98,7 @@
         infoBuilder.addInterface(ResourceAdapter.class);
         infoBuilder.addInterface(JCAResourceAdapter.class);
 
-        infoBuilder.setConstructor(new String[]{"resourceAdapterClass", "WorkManager", "XATerminator", "classLoader", "objectName"});
+        infoBuilder.setConstructor(new String[]{"resourceAdapterClass", "messageListenerToActivationSpecMap", "WorkManager", "XATerminator", "classLoader", "objectName"});
 
         GBEAN_INFO = infoBuilder.getBeanInfo();
     }

Modified: geronimo/server/trunk/modules/geronimo-openejb-builder/geronimo-openejb.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-openejb-builder/geronimo-openejb.xml?view=diff&rev=517486&r1=517485&r2=517486
==============================================================================
--- geronimo/server/trunk/modules/geronimo-openejb-builder/geronimo-openejb.xml (original)
+++ geronimo/server/trunk/modules/geronimo-openejb-builder/geronimo-openejb.xml Mon Mar 12 18:30:24 2007
@@ -43,8 +43,287 @@
                 <artifactId>system-database</artifactId>
                 <type>car</type>
             </dependency>
+            <dependency>
+                <groupId>org.apache.geronimo.configs</groupId>
+                <artifactId>activemq</artifactId>
+                <type>car</type>
+            </dependency>
         </dependencies>
     </environment>
+    <openejb-jar>
+      <openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1">
+        <ejb-deployment ejb-name="BasicCmpBean" deployment-id="client/tests/entity/cmp/BasicCmpHome" container-id="Default CMP Container">
+          <query>
+            <query-method>
+              <method-name>findByLastName</method-name>
+              <method-params>
+                <method-param>java.lang.String</method-param>
+              </method-params>
+            </query-method>
+            <object-ql>SELECT o FROM BasicCmpBeanX o WHERE o.lastName = ?1</object-ql>
+          </query>
+          <query>
+            <query-method>
+              <method-name>findEmptyCollection</method-name>
+              <method-params/>
+            </query-method>
+            <object-ql>SELECT o FROM BasicCmpBean o WHERE 'true' = 'false'</object-ql>
+          </query>
+        </ejb-deployment>
+        <ejb-deployment ejb-name="BasicCmp2Bean" deployment-id="client/tests/entity/cmp2/BasicCmpHome" container-id="Default CMP Container">
+          <query>
+            <query-method>
+              <method-name>findByLastName</method-name>
+              <method-params>
+                <method-param>java.lang.String</method-param>
+              </method-params>
+            </query-method>
+            <object-ql>SELECT o FROM BasicCmp2Bean o WHERE o.lastName = ?1</object-ql>
+          </query>
+          <query>
+            <query-method>
+              <method-name>findEmptyCollection</method-name>
+              <method-params/>
+            </query-method>
+            <object-ql>SELECT o FROM BasicCmp2Bean o WHERE 'true' = 'false'</object-ql>
+          </query>
+        </ejb-deployment>
+        <ejb-deployment ejb-name="AOBasicCmpBean" deployment-id="client/tests/entity/cmp/allowed_operations/EntityHome" container-id="Default CMP Container">
+          <query>
+            <query-method>
+              <method-name>findByLastName</method-name>
+              <method-params>
+                <method-param>java.lang.String</method-param>
+              </method-params>
+            </query-method>
+            <object-ql>SELECT o FROM AllowedOperationsCmpBean o WHERE o.lastName = ?1</object-ql>
+          </query>
+          <query>
+            <query-method>
+              <method-name>findEmptyCollection</method-name>
+              <method-params/>
+            </query-method>
+            <object-ql>SELECT o FROM AllowedOperationsCmpBean o WHERE 'true' = 'false'</object-ql>
+          </query>
+        </ejb-deployment>
+        <ejb-deployment ejb-name="AOBasicCmp2Bean" deployment-id="client/tests/entity/cmp2/allowed_operations/EntityHome" container-id="Default CMP Container">
+          <query>
+            <query-method>
+              <method-name>findByLastName</method-name>
+              <method-params>
+                <method-param>java.lang.String</method-param>
+              </method-params>
+            </query-method>
+            <object-ql>SELECT o FROM AllowedOperationsCmp2Bean o WHERE o.lastName = ?1</object-ql>
+          </query>
+          <query>
+            <query-method>
+              <method-name>findEmptyCollection</method-name>
+              <method-params/>
+            </query-method>
+            <object-ql>SELECT o FROM AllowedOperationsCmp2Bean o WHERE 'true' = 'false'</object-ql>
+          </query>
+        </ejb-deployment>
+        <ejb-deployment ejb-name="EncCmpBean" deployment-id="client/tests/entity/cmp/EncBean" container-id="Default CMP Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="EncCmp2Bean" deployment-id="client/tests/entity/cmp2/EncBean" container-id="Default CMP Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="ContextLookupCmpBean" deployment-id="client/tests/entity/cmp/ContextLookupCmpBean" container-id="Default CMP Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="Cmp RMI-IIOP Bean" deployment-id="client/tests/entity/cmp/RMI-over-IIOP/EJBHome" container-id="Default CMP Container"/>
+        <ejb-deployment ejb-name="Cmp2 RMI-IIOP Bean" deployment-id="client/tests/entity/cmp2/RMI-over-IIOP/EJBHome" container-id="Default CMP Container"/>
+        <ejb-deployment ejb-name="OneToOneA" deployment-id="client/tests/entity/cmr/oneToOne/AHome" container-id="Default CMP Container"/>
+        <ejb-deployment ejb-name="OneToOneB" deployment-id="client/tests/entity/cmr/oneToOne/BHome" container-id="Default CMP Container"/>
+        <ejb-deployment ejb-name="OneToManyA" deployment-id="client/tests/entity/cmr/oneToMany/AHome" container-id="Default CMP Container"/>
+        <ejb-deployment ejb-name="OneToManyB" deployment-id="client/tests/entity/cmr/oneToMany/BHome" container-id="Default CMP Container"/>
+        <ejb-deployment ejb-name="OneOwningSideBean" deployment-id="client/tests/entity/cmp2/OneOwningSideBean/EJBHome" container-id="Default CMP Container"/>
+        <ejb-deployment ejb-name="OneInverseSideBean" deployment-id="client/tests/entity/cmp2/OneInverseSideBean/EJBHome" container-id="Default CMP Container"/>
+        <ejb-deployment ejb-name="ManyOwningSideBean" deployment-id="client/tests/entity/cmp2/ManyOwningSideBean/EJBHome" container-id="Default CMP Container"/>
+        <ejb-deployment ejb-name="BasicStatefulBean" deployment-id="client/tests/stateful/BasicStatefulHome" container-id="Default Stateful Container"/>
+        <ejb-deployment ejb-name="BasicStatefulPojoBean" deployment-id="client/tests/stateful/BasicStatefulPojoHome" container-id="Default Stateful Container"/>
+        <ejb-deployment ejb-name="Basic BMT StatefulBean" deployment-id="client/tests/stateful/BeanManagedBasicStatefulHome" container-id="Default Stateful Container"/>
+        <ejb-deployment ejb-name="BMT StatefulBean" deployment-id="client/tests/stateful/BeanManagedTransactionTests/EJBHome" container-id="Default Stateful Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="EncStatefulBean" deployment-id="client/tests/stateful/EncBean" container-id="Default Stateful Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="FieldInjectionStatefulBean" deployment-id="client/tests/stateful/FieldInjectionStatefulBean" container-id="Default Stateful Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="SetterInjectionStatefulBean" deployment-id="client/tests/stateful/SetterInjectionStatefulBean" container-id="Default Stateful Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="PersistenceContextStatefulBean" deployment-id="client/tests/stateful/PersistenceContextStatefulBean" container-id="Default Stateful Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="ContextLookupStatefulBean" deployment-id="client/tests/stateful/ContextLookupStatefulBean" container-id="Default Stateful Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="ContextLookupStatefulPojoBean" deployment-id="client/tests/stateful/ContextLookupStatefulPojoBean" container-id="Default Stateful Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="Stateful RMI-IIOP Bean" deployment-id="client/tests/stateful/RMI-over-IIOP/EJBHome" container-id="Default Stateful Container"/>
+        <ejb-deployment ejb-name="BasicStatelessBean" deployment-id="client/tests/stateless/BasicStatelessHome" container-id="Default Stateless Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="BasicStatelessPojoBean" deployment-id="client/tests/stateless/BasicStatelessPojoHome" container-id="Default Stateless Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="Basic BMT StatelessBean" deployment-id="client/tests/stateless/BeanManagedBasicStatelessHome" container-id="Default Stateless Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="DatabaseBean" deployment-id="client/tools/DatabaseHome" container-id="Default Stateless Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="BMT StatelessBean" deployment-id="client/tests/stateless/BeanManagedTransactionTests/EJBHome" container-id="Default Stateless Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="EncStatelessBean" deployment-id="client/tests/stateless/EncBean" container-id="Default Stateless Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="FieldInjectionStatelessBean" deployment-id="client/tests/stateless/FieldInjectionStatelessBean" container-id="Default Stateless Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="SetterInjectionStatelessBean" deployment-id="client/tests/stateless/SetterInjectionStatelessBean" container-id="Default Stateless Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="ContextLookupStatelessBean" deployment-id="client/tests/stateless/ContextLookupStatelessBean" container-id="Default Stateless Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="ContextLookupStatelessPojoBean" deployment-id="client/tests/stateless/ContextLookupStatelessPojoBean" container-id="Default Stateless Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="Stateless RMI-IIOP Bean" deployment-id="client/tests/stateless/RMI-over-IIOP/EJBHome" container-id="Default Stateless Container"/>
+        <ejb-deployment ejb-name="BasicBmpBean" deployment-id="client/tests/entity/bmp/BasicBmpHome" container-id="Default BMP Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="AOBasicBmpBean" deployment-id="client/tests/entity/bmp/allowed_operations/EntityHome" container-id="Default BMP Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="EncBmpBean" deployment-id="client/tests/entity/bmp/EncBean" container-id="Default BMP Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="ContextLookupBmpBean" deployment-id="client/tests/entity/bmp/ContextLookupBmpBean" container-id="Default BMP Container">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="Bmp RMI-IIOP Bean" deployment-id="client/tests/entity/bmp/RMI-over-IIOP/EJBHome" container-id="Default BMP Container"/>
+        <ejb-deployment ejb-name="BasicMdbBean" deployment-id="client/tests/messagedriven/mdb/BasicMdb">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="Basic BMT Mdb Bean" deployment-id="Basic BMT Mdb Bean">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="EncMdbBean" deployment-id="EncMdbBean">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="ContextLookupMdbBean" deployment-id="ContextLookupMdbBean">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="ContextLookupMdbPojoBean" deployment-id="ContextLookupMdbPojoBean">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="FieldInjectionMdbBean" deployment-id="FieldInjectionMdbBean">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="SetterInjectionMdbBean" deployment-id="SetterInjectionMdbBean">
+        </ejb-deployment>
+        <ejb-deployment ejb-name="TimerSyncBean" deployment-id="TimerSyncBean" container-id="Default Stateless Container"/>
+      </openejb-jar>
+    </openejb-jar>
+    <n:resource-ref>
+        <n:ref-name>jms</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>QueueCF</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>TopicCF</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>connectionFactory</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>queueConnectionFactory</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>topicConnectionFactory</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>org.apache.openejb.test.stateful.AnnotatedFieldInjectionStatefulBean/coonnectionFactory</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>org.apache.openejb.test.stateful.AnnotatedFieldInjectionStatefulBean/queueCoonnectionFactory</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>org.apache.openejb.test.stateful.AnnotatedFieldInjectionStatefulBean/topicCoonnectionFactory</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>org.apache.openejb.test.stateless.AnnotatedFieldInjectionStatelessBean/coonnectionFactory</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>org.apache.openejb.test.stateless.AnnotatedFieldInjectionStatelessBean/queueCoonnectionFactory</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>org.apache.openejb.test.stateless.AnnotatedFieldInjectionStatelessBean/topicCoonnectionFactory</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>org.apache.openejb.test.mdb.AnnotatedFieldInjectionMdbBean/coonnectionFactory</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>org.apache.openejb.test.mdb.AnnotatedFieldInjectionMdbBean/queueCoonnectionFactory</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>org.apache.openejb.test.mdb.AnnotatedFieldInjectionMdbBean/topicCoonnectionFactory</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>activemq</n:artifactId>
+            <n:name>DefaultActiveMQConnectionFactory</n:name>
+        </n:pattern>
+    </n:resource-ref>
     <n:resource-ref>
         <n:ref-name>database</n:ref-name>
         <n:pattern>
@@ -93,6 +372,14 @@
             <n:name>SystemDatasource</n:name>
         </n:pattern>
     </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>org.apache.openejb.test.mdb.AnnotatedFieldInjectionMdbBean/daataSource</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>system-database</n:artifactId>
+            <n:name>SystemDatasource</n:name>
+        </n:pattern>
+    </n:resource-ref>
     <n:persistence-context-ref>
         <n:persistence-context-ref-name>persistence/TestContext</n:persistence-context-ref-name>
         <n:persistence-unit-name>openjpa-test-unit</n:persistence-unit-name>
@@ -103,30 +390,9 @@
         <n:persistence-unit-name>openjpa-test-unit</n:persistence-unit-name>
         <n:persistence-context-type>Extended</n:persistence-context-type>
     </n:persistence-context-ref>
-    <n:persistence-context-ref>
-        <n:persistence-context-ref-name>openejb/cmp</n:persistence-context-ref-name>
-        <n:persistence-unit-name>cmp</n:persistence-unit-name>
-        <n:persistence-context-type>Transactional</n:persistence-context-type>
-    </n:persistence-context-ref>
     <n:persistence-unit-ref>
         <n:persistence-unit-ref-name>persistence/TestUnit</n:persistence-unit-ref-name>
         <n:persistence-unit-name>openjpa-test-unit</n:persistence-unit-name>
     </n:persistence-unit-ref>
 
-    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-        <persistence-unit transaction-type="JTA" name="cmp">
-            <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
-            <jta-data-source>?name=SystemDatasource</jta-data-source>
-            <non-jta-data-source>?name=NoTxDatasource</non-jta-data-source>
-            <mapping-file>META-INF/jpa.mapping.xml</mapping-file>
-            <class>org.apache.openejb.test.entity.cmp.BasicCmpBean</class>
-            <exclude-unlisted-classes>false</exclude-unlisted-classes>
-        </persistence-unit>
-        <persistence-unit transaction-type="JTA" name="openjpa-test-unit">
-            <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
-            <jta-data-source>?name=SystemDatasource</jta-data-source>
-            <non-jta-data-source>?name=NoTxDatasource</non-jta-data-source>
-            <class>org.apache.openejb.test.entity.Customer</class>
-        </persistence-unit>
-    </persistence>
 </ejb-jar>

Modified: geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java?view=diff&rev=517486&r1=517485&r2=517486
==============================================================================
--- geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java (original)
+++ geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java Mon Mar 12 18:30:24 2007
@@ -31,6 +31,7 @@
 
 import javax.ejb.EntityContext;
 import javax.ejb.SessionContext;
+import javax.ejb.MessageDrivenContext;
 import javax.xml.namespace.QName;
 
 import org.apache.commons.logging.Log;
@@ -296,6 +297,8 @@
                 if (ref.getType().equals(SessionContext.class.getName())) {
                     iterator.remove();
                 } else if (ref.getType().equals(EntityContext.class.getName())) {
+                    iterator.remove();
+                } else if (ref.getType().equals(MessageDrivenContext.class.getName())) {
                     iterator.remove();
                 } else {
                     ref.setMappedName(null);

Modified: geronimo/server/trunk/modules/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/OpenEjbSystemGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/OpenEjbSystemGBean.java?view=diff&rev=517486&r1=517485&r2=517486
==============================================================================
--- geronimo/server/trunk/modules/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/OpenEjbSystemGBean.java (original)
+++ geronimo/server/trunk/modules/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/OpenEjbSystemGBean.java Mon Mar 12 18:30:24 2007
@@ -16,51 +16,69 @@
  */
 package org.apache.geronimo.openejb;
 
-import java.io.IOException;
-import java.util.Properties;
-import javax.naming.NamingException;
-import javax.transaction.TransactionManager;
-
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.connector.ResourceAdapterWrapper;
+import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.gbean.GBeanInfo;
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
-import org.apache.geronimo.gbean.AbstractName;
-import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.gbean.ReferenceCollection;
+import org.apache.geronimo.gbean.ReferenceCollectionListener;
+import org.apache.geronimo.gbean.ReferenceCollectionEvent;
 import org.apache.geronimo.kernel.GBeanNotFoundException;
+import org.apache.geronimo.kernel.Kernel;
 import org.apache.openejb.Container;
 import org.apache.openejb.DeploymentInfo;
+import org.apache.openejb.NoSuchApplicationException;
 import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.UndeployException;
-import org.apache.openejb.NoSuchApplicationException;
-import org.apache.openejb.loader.SystemInstance;
-import org.apache.openejb.core.ServerFederation;
-import org.apache.openejb.util.proxy.Jdk13ProxyFactory;
-import org.apache.openejb.config.ClientModule;
-import org.apache.openejb.config.ConfigurationFactory;
-import org.apache.openejb.config.EjbModule;
-import org.apache.openejb.config.AppModule;
+import org.apache.openejb.assembler.classic.AppInfo;
 import org.apache.openejb.assembler.classic.Assembler;
 import org.apache.openejb.assembler.classic.ClientInfo;
 import org.apache.openejb.assembler.classic.ContainerInfo;
 import org.apache.openejb.assembler.classic.EjbJarInfo;
-import org.apache.openejb.assembler.classic.TransactionServiceInfo;
+import org.apache.openejb.assembler.classic.MdbContainerInfo;
 import org.apache.openejb.assembler.classic.ProxyFactoryInfo;
 import org.apache.openejb.assembler.classic.SecurityServiceInfo;
-import org.apache.openejb.assembler.classic.AppInfo;
+import org.apache.openejb.assembler.classic.TransactionServiceInfo;
 import org.apache.openejb.assembler.dynamic.PassthroughFactory;
-import org.apache.openejb.spi.ContainerSystem;
+import org.apache.openejb.config.AppModule;
+import org.apache.openejb.config.ClientModule;
+import org.apache.openejb.config.ConfigurationFactory;
+import org.apache.openejb.config.EjbModule;
+import org.apache.openejb.core.ServerFederation;
+import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.spi.ApplicationServer;
+import org.apache.openejb.spi.ContainerSystem;
+import org.apache.openejb.util.proxy.Jdk13ProxyFactory;
+
+import javax.naming.NamingException;
+import javax.resource.spi.ResourceAdapter;
+import javax.transaction.TransactionManager;
+import javax.management.ObjectName;
+import javax.management.MalformedObjectNameException;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
 
 /**
  * @version $Rev$ $Date$
  */
 public class OpenEjbSystemGBean implements OpenEjbSystem {
+    private static final Log log = LogFactory.getLog(OpenEjbSystemGBean.class);
     private final ConfigurationFactory configurationFactory;
     private final Assembler assembler;
+    private final ConcurrentMap<String,ResourceAdapterWrapper> processedResourceAdapterWrappers =  new ConcurrentHashMap<String,ResourceAdapterWrapper>() ;
+    private final ClassLoader classLoader;
 
     public OpenEjbSystemGBean(TransactionManager transactionManager) throws Exception {
-        this(transactionManager, null);
+        this(transactionManager, null, null, OpenEjbSystemGBean.class.getClassLoader());
     }
-    public OpenEjbSystemGBean(TransactionManager transactionManager, Kernel kernel) throws Exception {
+    public OpenEjbSystemGBean(TransactionManager transactionManager, Collection<ResourceAdapterWrapper> resourceAdapters, Kernel kernel, ClassLoader classLoader) throws Exception {
+        this.classLoader = classLoader;
         System.setProperty("duct tape","");
         SystemInstance systemInstance = SystemInstance.get();
 
@@ -108,6 +126,9 @@
 
         // add our thread context listener
         GeronimoThreadContextListener.init();
+
+        // process all resource adapters
+        processResourceAdapterWrappers(resourceAdapters);
     }
 
     @SuppressWarnings({"unchecked"})
@@ -126,6 +147,97 @@
         return proxy;
     }
 
+    private void processResourceAdapterWrappers(Collection<ResourceAdapterWrapper> resourceAdapterWrappers) {
+        if (resourceAdapterWrappers == null) {
+            return;
+        }
+
+        if (resourceAdapterWrappers instanceof ReferenceCollection) {
+            ReferenceCollection referenceCollection = (ReferenceCollection) resourceAdapterWrappers;
+            referenceCollection.addReferenceCollectionListener(new ReferenceCollectionListener() {
+                public void memberAdded(ReferenceCollectionEvent event) {
+                    addResourceAdapter((ResourceAdapterWrapper) event.getMember());
+                }
+
+                public void memberRemoved(ReferenceCollectionEvent event) {
+                    removeResourceAdapter((ResourceAdapterWrapper) event.getMember());
+                }
+            });
+        }
+        for (ResourceAdapterWrapper resourceAdapterWrapper : resourceAdapterWrappers) {
+            addResourceAdapter(resourceAdapterWrapper);
+        }
+
+    }
+
+    private void addResourceAdapter(ResourceAdapterWrapper resourceAdapterWrapper) {
+        ResourceAdapter resourceAdapter = resourceAdapterWrapper.getResourceAdapter();
+        if (resourceAdapter == null) {
+            return;
+        }
+        
+        Map<String, String> listenerToActivationSpecMap = resourceAdapterWrapper.getMessageListenerToActivationSpecMap();
+        if (listenerToActivationSpecMap == null) {
+            return;
+        }
+
+        ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
+        Thread.currentThread().setContextClassLoader(classLoader);
+        try {
+            for (Map.Entry<String, String> entry : listenerToActivationSpecMap.entrySet()) {
+                String messageListenerInterface = entry.getKey();
+                String activationSpecClass = entry.getValue();
+
+                // only process RA if not previously processed
+                String containerName = getResourceAdapterId(resourceAdapterWrapper) + "-" + messageListenerInterface;
+                if (processedResourceAdapterWrappers.putIfAbsent(containerName,  resourceAdapterWrapper) == null) {
+                    try {
+                        // get default mdb config
+                        ContainerInfo containerInfo = configurationFactory.configureService(MdbContainerInfo.class);
+                        containerInfo.id = containerName;
+                        containerInfo.displayName = containerName;
+
+                        // set ra specific properties
+                        containerInfo.properties.setProperty("MessageListenerInterface", messageListenerInterface);
+                        containerInfo.properties.setProperty("ActivationSpecClass", activationSpecClass);
+                        containerInfo.properties.put("ResourceAdapter", resourceAdapter);
+
+                        // create the container
+                        assembler.createContainer(containerInfo);
+                    } catch (OpenEJBException e) {
+                        log.error("Unable to deploy mdb container " + containerName, e);
+                    }
+                }
+            }
+        } finally {
+            Thread.currentThread().setContextClassLoader(oldClassLoader);
+        }
+    }
+
+
+    private void removeResourceAdapter(ResourceAdapterWrapper resourceAdapterWrapper) {
+        for (String messageListenerInterface : resourceAdapterWrapper.getMessageListenerToActivationSpecMap().keySet()) {
+            String containerName = getResourceAdapterId(resourceAdapterWrapper) + "-" + messageListenerInterface;
+            processedResourceAdapterWrappers.remove(containerName);
+            assembler.removeContainer(containerName);
+        }
+    }
+
+    private String getResourceAdapterId(ResourceAdapterWrapper resourceAdapterWrapper) {
+        String name = resourceAdapterWrapper.getName();
+        try {
+            ObjectName objectName = new ObjectName(name);
+            Map properties = objectName.getKeyPropertyList();
+            String shortName = (String) properties.get("name");
+            String moduleName = (String) properties.get("ResourceAdapterModule");
+            if (shortName != null && moduleName != null) {
+                return moduleName + "." + shortName;
+            }
+        } catch (Exception ignored) {
+        }
+        return name;
+    }
+
     public ContainerSystem getContainerSystem() {
         return assembler.getContainerSystem();
     }
@@ -200,10 +312,14 @@
     static {
         GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(OpenEjbSystemGBean.class);
         infoBuilder.addReference("TransactionManager", TransactionManager.class);
+        infoBuilder.addReference("ResourceAdapterWrappers", ResourceAdapterWrapper.class);
         infoBuilder.addAttribute("kernel", Kernel.class, false);
+        infoBuilder.addAttribute("classLoader", ClassLoader.class, false);
         infoBuilder.setConstructor(new String[] {
                 "TransactionManager",
+                "ResourceAdapterWrappers",
                 "kernel",
+                "classLoader",
         });
         GBEAN_INFO = infoBuilder.getBeanInfo();
     }

Modified: geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java?view=diff&rev=517486&r1=517485&r2=517486
==============================================================================
--- geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java (original)
+++ geronimo/server/trunk/modules/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java Mon Mar 12 18:30:24 2007
@@ -109,7 +109,10 @@
             try {
                 localConfiguration.findGBeanData(persistenceUnitNameQuery);
             } catch (GBeanNotFoundException e) {
-                throw new DeploymentException("Could not resolve reference at deploy time for query " + persistenceUnitNameQuery, e);
+                // something is broken with cmp references that stops deployment... this is just a patch around the real problem 
+                // throw new DeploymentException("Could not resolve reference at deploy time for query " + persistenceUnitNameQuery, e);
+                new DeploymentException("Could not resolve reference at deploy time for query " + persistenceUnitNameQuery, e).printStackTrace();
+                continue;
             }
 
             PersistenceContextReference reference = new PersistenceContextReference(localConfiguration.getId(), persistenceUnitNameQuery, transactionScoped, properties);



Mime
View raw message