activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From andytay...@apache.org
Subject [1/2] activemq-6 git commit: ACTIVEMQ6-6 Add Service Extension Component
Date Tue, 25 Nov 2014 16:10:51 GMT
Repository: activemq-6
Updated Branches:
  refs/heads/master d59417340 -> 5996d697c


ACTIVEMQ6-6 Add Service Extension Component

Adds a new service extensions components used to house any extension
points for integration and extension.  In addition this patch adds
initial extension points for XAResource wrapping.


Project: http://git-wip-us.apache.org/repos/asf/activemq-6/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-6/commit/60fbb105
Tree: http://git-wip-us.apache.org/repos/asf/activemq-6/tree/60fbb105
Diff: http://git-wip-us.apache.org/repos/asf/activemq-6/diff/60fbb105

Branch: refs/heads/master
Commit: 60fbb1055b01aa3c757a83013c0e3a4b66f00787
Parents: d594173
Author: Martyn Taylor <mtaylor@redhat.com>
Authored: Tue Nov 25 12:20:20 2014 +0000
Committer: Martyn Taylor <mtaylor@redhat.com>
Committed: Tue Nov 25 15:51:03 2014 +0000

----------------------------------------------------------------------
 activemq-ra/pom.xml                             |  11 +-
 .../ra/ActiveMQRAManagedConnection.java         |  12 +-
 .../activemq/ra/ActiveMQXAResourceWrapper.java  | 143 -------------------
 .../ra/inflow/ActiveMQMessageHandler.java       |  16 ++-
 activemq-service-extensions/pom.xml             |  39 +++++
 .../service/extensions/ServiceUtils.java        |  58 ++++++++
 .../xa/ActiveMQXAResourceWrapper.java           |  32 +++++
 .../xa/ActiveMQXAResourceWrapperFactory.java    |  26 ++++
 .../ActiveMQXAResourceWrapperFactoryImpl.java   |  31 ++++
 .../xa/ActiveMQXAResourceWrapperImpl.java       | 138 ++++++++++++++++++
 .../xa/ActiveMQXAResourceWrapperImplTest.java   |  51 +++++++
 .../xa/MockActiveMQResourceWrapperFactory.java  |  33 +++++
 .../extensions/tests/xa/MockXAResource.java     |  85 +++++++++++
 .../extensions/tests/xa/ServiceUtilsTest.java   |  62 ++++++++
 pom.xml                                         |  12 +-
 tests/integration-tests/pom.xml                 |   5 -
 .../integration/ra/OutgoingConnectionTest.java  |   5 +-
 tests/unit-tests/pom.xml                        |   5 -
 .../tests/unit/xa/XAResourceWrapperTest.java    |  43 ------
 19 files changed, 590 insertions(+), 217 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-ra/pom.xml
----------------------------------------------------------------------
diff --git a/activemq-ra/pom.xml b/activemq-ra/pom.xml
index b9954b9..c027026 100644
--- a/activemq-ra/pom.xml
+++ b/activemq-ra/pom.xml
@@ -53,19 +53,14 @@
          <scope>provided</scope>
       </dependency>
       <dependency>
-         <groupId>org.jboss.ironjacamar</groupId>
-         <artifactId>ironjacamar-core-api</artifactId>
-         <scope>provided</scope>
-      </dependency>
-      <dependency>
          <groupId>org.apache.geronimo.specs</groupId>
          <artifactId>geronimo-ejb_3.0_spec</artifactId>
          <scope>provided</scope>
       </dependency>
       <dependency>
-         <groupId>org.jboss</groupId>
-         <artifactId>jboss-transaction-spi</artifactId>
-         <scope>provided</scope>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>activemq-service-extensions</artifactId>
+         <version>${project.version}</version>
       </dependency>
    </dependencies>
 

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQRAManagedConnection.java
----------------------------------------------------------------------
diff --git a/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQRAManagedConnection.java
b/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQRAManagedConnection.java
index 7ec8379..710a7ea 100644
--- a/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQRAManagedConnection.java
+++ b/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQRAManagedConnection.java
@@ -35,8 +35,10 @@ import javax.transaction.xa.XAResource;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -46,6 +48,9 @@ import org.apache.activemq.core.client.impl.ClientSessionInternal;
 import org.apache.activemq.jms.client.ActiveMQConnection;
 import org.apache.activemq.jms.client.ActiveMQConnectionFactory;
 import org.apache.activemq.jms.client.ActiveMQXAConnection;
+import org.apache.activemq.service.extensions.ServiceUtils;
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapper;
+import org.apache.activemq.utils.VersionLoader;
 
 /**
  * The managed connection
@@ -531,7 +536,12 @@ public final class ActiveMQRAManagedConnection implements ManagedConnection,
Exc
       {
          ClientSessionInternal csi = (ClientSessionInternal) xaSession.getXAResource();
          ActiveMQRAXAResource activeMQRAXAResource = new ActiveMQRAXAResource(this, xaSession.getXAResource());
-         xaResource = new ActiveMQXAResourceWrapper(activeMQRAXAResource, ra.getJndiName(),
csi.getNodeId());
+         Map<String, Object> xaResourceProperties = new HashMap<String, Object>();
+         xaResourceProperties.put(ActiveMQXAResourceWrapper.ACTIVEMQ_JNDI_NAME, ra.getJndiName());
+         xaResourceProperties.put(ActiveMQXAResourceWrapper.ACTIVEMQ_NODE_ID, csi.getNodeId());
+         xaResourceProperties.put(ActiveMQXAResourceWrapper.ACTIVEMQ_PRODUCT_NAME, ActiveMQResourceAdapter.PRODUCT_NAME);
+         xaResourceProperties.put(ActiveMQXAResourceWrapper.ACTIVEMQ_PRODUCT_VERSION, VersionLoader.getVersion().getFullVersion());
+         xaResource = ServiceUtils.wrapXAResource(activeMQRAXAResource, xaResourceProperties);
       }
 
       if (ActiveMQRAManagedConnection.trace)

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQXAResourceWrapper.java
----------------------------------------------------------------------
diff --git a/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQXAResourceWrapper.java
b/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQXAResourceWrapper.java
deleted file mode 100644
index b862424..0000000
--- a/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQXAResourceWrapper.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright 2005-2014 Red Hat, Inc.
- * Red Hat 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.activemq.ra;
-
-import javax.transaction.xa.XAException;
-import javax.transaction.xa.XAResource;
-import javax.transaction.xa.Xid;
-
-import org.apache.activemq.core.client.impl.ActiveMQXAResource;
-import org.apache.activemq.utils.VersionLoader;
-
-/**
- * @author <a href="mailto:mtaylor@redhat.com">Martyn Taylor</a>
- *
- * Wraps XAResource with org.jboss.tm.XAResourceWrapper.  This adds extra meta-data to to
the XAResource used by
- * Transaction Manager for recovery scenarios.
- */
-
-public class ActiveMQXAResourceWrapper implements org.jboss.tm.XAResourceWrapper, org.jboss.jca.core.spi.transaction.xa.XAResourceWrapper,
ActiveMQXAResource
-{
-   private final XAResource xaResource;
-
-   // The EIS Name
-   private final String productName;
-
-   // The EIS Version
-   private final String productVersion;
-
-   // A composite of NodeID + JNDIName that allows adminstrator looking at an XAResource
to determine it's origin.
-   private final String jndiNameNodeId;
-
-   /**
-    * Creates a new XAResourceWrapper.  PRODUCT_NAME, productVersion and jndiName are useful
for log output in the
-    * Transaction Manager.  For ActiveMQ only the resourceManagerID is required to allow
Transaction Manager to recover
-    * from relevant recovery scenarios.
-    *
-    * @param xaResource
-    * @param jndiName
-    */
-   public ActiveMQXAResourceWrapper(XAResource xaResource, String jndiName, String nodeId)
-   {
-      this.xaResource = xaResource;
-      this.productName = ActiveMQResourceAdapter.PRODUCT_NAME;
-      this.productVersion = VersionLoader.getVersion().getFullVersion();
-      this.jndiNameNodeId = jndiName + " NodeId:" + nodeId;
-   }
-
-   @Override
-   public XAResource getResource()
-   {
-      return xaResource;
-   }
-
-   @Override
-   public String getProductName()
-   {
-      return productName;
-   }
-
-   @Override
-   public String getProductVersion()
-   {
-      return productVersion;
-   }
-
-   @Override
-   public String getJndiName()
-   {
-      return jndiNameNodeId;
-   }
-
-   @Override
-   public void commit(Xid xid, boolean b) throws XAException
-   {
-      getResource().commit(xid, b);
-   }
-
-   @Override
-   public void end(Xid xid, int i) throws XAException
-   {
-      getResource().end(xid, i);
-   }
-
-   @Override
-   public void forget(Xid xid) throws XAException
-   {
-      getResource().forget(xid);
-   }
-
-   @Override
-   public int getTransactionTimeout() throws XAException
-   {
-      return getResource().getTransactionTimeout();
-   }
-
-   @Override
-   public boolean isSameRM(XAResource xaResource) throws XAException
-   {
-      return getResource().isSameRM(xaResource);
-   }
-
-   @Override
-   public int prepare(Xid xid) throws XAException
-   {
-      return getResource().prepare(xid);
-   }
-
-   @Override
-   public Xid[] recover(int i) throws XAException
-   {
-      return getResource().recover(i);
-   }
-
-   @Override
-   public void rollback(Xid xid) throws XAException
-   {
-      getResource().rollback(xid);
-   }
-
-   @Override
-   public boolean setTransactionTimeout(int i) throws XAException
-   {
-      return getResource().setTransactionTimeout(i);
-   }
-
-   @Override
-   public void start(Xid xid, int i) throws XAException
-   {
-      getResource().start(xid, i);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-ra/src/main/java/org/apache/activemq/ra/inflow/ActiveMQMessageHandler.java
----------------------------------------------------------------------
diff --git a/activemq-ra/src/main/java/org/apache/activemq/ra/inflow/ActiveMQMessageHandler.java
b/activemq-ra/src/main/java/org/apache/activemq/ra/inflow/ActiveMQMessageHandler.java
index abd68d0..5ec09e8 100644
--- a/activemq-ra/src/main/java/org/apache/activemq/ra/inflow/ActiveMQMessageHandler.java
+++ b/activemq-ra/src/main/java/org/apache/activemq/ra/inflow/ActiveMQMessageHandler.java
@@ -19,6 +19,8 @@ import javax.resource.spi.endpoint.MessageEndpointFactory;
 import javax.transaction.Transaction;
 import javax.transaction.TransactionManager;
 import javax.transaction.xa.XAResource;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.UUID;
 
 import org.apache.activemq.api.core.ActiveMQException;
@@ -34,8 +36,10 @@ import org.apache.activemq.jms.client.ActiveMQDestination;
 import org.apache.activemq.jms.client.ActiveMQMessage;
 import org.apache.activemq.ra.ActiveMQRALogger;
 import org.apache.activemq.ra.ActiveMQResourceAdapter;
-import org.apache.activemq.ra.ActiveMQXAResourceWrapper;
+import org.apache.activemq.service.extensions.ServiceUtils;
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapper;
 import org.apache.activemq.utils.FutureLatch;
+import org.apache.activemq.utils.VersionLoader;
 
 /**
  * The message handler
@@ -191,9 +195,13 @@ public class ActiveMQMessageHandler implements MessageHandler
       transacted = activation.isDeliveryTransacted();
       if (activation.isDeliveryTransacted() && !activation.getActivationSpec().isUseLocalTx())
       {
-         XAResource xaResource = new ActiveMQXAResourceWrapper(session,
-                                                     ((ActiveMQResourceAdapter) spec.getResourceAdapter()).getJndiName(),
-                                                     ((ClientSessionFactoryInternal) cf).getLiveNodeId());
+         Map<String, Object> xaResourceProperties = new HashMap<String, Object>();
+         xaResourceProperties.put(ActiveMQXAResourceWrapper.ACTIVEMQ_JNDI_NAME, ((ActiveMQResourceAdapter)
spec.getResourceAdapter()).getJndiName());
+         xaResourceProperties.put(ActiveMQXAResourceWrapper.ACTIVEMQ_NODE_ID, ((ClientSessionFactoryInternal)
cf).getLiveNodeId());
+         xaResourceProperties.put(ActiveMQXAResourceWrapper.ACTIVEMQ_PRODUCT_NAME, ActiveMQResourceAdapter.PRODUCT_NAME);
+         xaResourceProperties.put(ActiveMQXAResourceWrapper.ACTIVEMQ_PRODUCT_VERSION, VersionLoader.getVersion().getFullVersion());
+         XAResource xaResource = ServiceUtils.wrapXAResource(session, xaResourceProperties);
+
          endpoint = endpointFactory.createEndpoint(xaResource);
          useXA = true;
       }

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-service-extensions/pom.xml
----------------------------------------------------------------------
diff --git a/activemq-service-extensions/pom.xml b/activemq-service-extensions/pom.xml
new file mode 100644
index 0000000..ea44ad2
--- /dev/null
+++ b/activemq-service-extensions/pom.xml
@@ -0,0 +1,39 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+
+   <parent>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>activemq-pom</artifactId>
+      <version>6.0.0-SNAPSHOT</version>
+   </parent>
+
+   <artifactId>activemq-service-extensions</artifactId>
+   <packaging>jar</packaging>
+   <name>ActiveMQ6 Service Extensions</name>
+
+   <dependencies>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
+         <artifactId>activemq-core-client</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.logging</groupId>
+         <artifactId>jboss-logging</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.logging</groupId>
+         <artifactId>jboss-logging-processor</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+
+   <properties>
+      <activemq.basedir>${project.basedir}/..</activemq.basedir>
+   </properties>
+</project>

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/ServiceUtils.java
----------------------------------------------------------------------
diff --git a/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/ServiceUtils.java
b/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/ServiceUtils.java
new file mode 100644
index 0000000..3079348
--- /dev/null
+++ b/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/ServiceUtils.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat 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.activemq.service.extensions;
+
+import javax.transaction.xa.XAResource;
+import java.util.Map;
+import java.util.ServiceLoader;
+
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapper;
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapperFactory;
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapperFactoryImpl;
+
+/**
+ * @author <a href="mailto:mtaylor@redhat.com">Martyn Taylor</a>
+ */
+
+public class ServiceUtils
+{
+   private static ActiveMQXAResourceWrapperFactory activeMQXAResourceWrapperFactory;
+
+   private static ActiveMQXAResourceWrapperFactory getActiveMQXAResourceWrapperFactory()
+   {
+      if (activeMQXAResourceWrapperFactory == null)
+      {
+         setActiveMQXAResourceWrapperFactory(ServiceLoader.load(ActiveMQXAResourceWrapperFactory.class));
+      }
+      return activeMQXAResourceWrapperFactory;
+   }
+
+   public static ActiveMQXAResourceWrapper wrapXAResource(XAResource xaResource, Map<String,
Object> properties)
+   {
+      return getActiveMQXAResourceWrapperFactory().wrap(xaResource, properties);
+   }
+
+   private static void setActiveMQXAResourceWrapperFactory(Iterable<ActiveMQXAResourceWrapperFactory>
iterable)
+   {
+      if (iterable.iterator().hasNext())
+      {
+         activeMQXAResourceWrapperFactory = iterable.iterator().next();
+      }
+      else
+      {
+         activeMQXAResourceWrapperFactory = new ActiveMQXAResourceWrapperFactoryImpl();
+      }
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapper.java
----------------------------------------------------------------------
diff --git a/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapper.java
b/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapper.java
new file mode 100644
index 0000000..8930960
--- /dev/null
+++ b/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapper.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat 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.activemq.service.extensions.xa;
+
+import javax.transaction.xa.XAResource;
+
+/**
+ * @author <a href="mailto:mtaylor@redhat.com">Martyn Taylor</a>
+ */
+
+public interface ActiveMQXAResourceWrapper extends XAResource
+{
+   // List of supported properties
+   String ACTIVEMQ_JNDI_NAME = "ACTIVEMQ_JNDI_ID";
+
+   String ACTIVEMQ_PRODUCT_NAME = "ACTIVEMQ_PRODUCT_NAME";
+
+   String ACTIVEMQ_PRODUCT_VERSION = "ACTIVEMQ_PRODUCT_VERSION";
+
+   String ACTIVEMQ_NODE_ID = "ACTIVEMQ_NODE_ID";
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapperFactory.java
----------------------------------------------------------------------
diff --git a/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapperFactory.java
b/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapperFactory.java
new file mode 100644
index 0000000..007621b
--- /dev/null
+++ b/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapperFactory.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat 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.activemq.service.extensions.xa;
+
+import javax.transaction.xa.XAResource;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:mtaylor@redhat.com">Martyn Taylor</a>
+ */
+
+public interface ActiveMQXAResourceWrapperFactory
+{
+   ActiveMQXAResourceWrapper wrap(XAResource xaResource, Map<String, Object> properties);
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapperFactoryImpl.java
----------------------------------------------------------------------
diff --git a/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapperFactoryImpl.java
b/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapperFactoryImpl.java
new file mode 100644
index 0000000..e790442
--- /dev/null
+++ b/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapperFactoryImpl.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat 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.activemq.service.extensions.xa;
+
+import javax.transaction.xa.XAResource;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:mtaylor@redhat.com">Martyn Taylor</a>
+ */
+
+public class ActiveMQXAResourceWrapperFactoryImpl implements ActiveMQXAResourceWrapperFactory
+{
+
+   @Override
+   public ActiveMQXAResourceWrapper wrap(XAResource xaResource, Map<String, Object>
properties)
+   {
+      return new ActiveMQXAResourceWrapperImpl(xaResource, properties);
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapperImpl.java
----------------------------------------------------------------------
diff --git a/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapperImpl.java
b/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapperImpl.java
new file mode 100644
index 0000000..3e4c496
--- /dev/null
+++ b/activemq-service-extensions/src/main/java/org/apache/activemq/service/extensions/xa/ActiveMQXAResourceWrapperImpl.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat 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.activemq.service.extensions.xa;
+
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.Xid;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:mtaylor@redhat.com">Martyn Taylor</a>
+ */
+
+public class ActiveMQXAResourceWrapperImpl implements ActiveMQXAResourceWrapper
+{
+   private final XAResource xaResource;
+
+   // The EIS Name
+   private final String productName;
+
+   // The EIS Version
+   private final String productVersion;
+
+   // A composite of NodeID + JNDIName that allows adminstrator looking at an XAResource
to determine it's origin.
+   private final String jndiNameNodeId;
+
+   /**
+    * Creates a new XAResourceWrapper.  PRODUCT_NAME, productVersion and jndiName are useful
for log output in the
+    * Transaction Manager.  For ActiveMQ only the resourceManagerID is required to allow
Transaction Manager to recover
+    * from relevant recovery scenarios.
+    *
+    * @param xaResource
+    * @param properties
+    */
+   public ActiveMQXAResourceWrapperImpl(XAResource xaResource, Map<String, Object>
properties)
+   {
+      this.xaResource = xaResource;
+      //this.productName = ActiveMQResourceAdapter.PRODUCT_NAME;
+      this.productName = (String) properties.get(ActiveMQXAResourceWrapper.ACTIVEMQ_PRODUCT_NAME);
+      //this.productVersion = VersionLoader.getVersion().getFullVersion();
+      this.productVersion = (String) properties.get(ActiveMQXAResourceWrapper.ACTIVEMQ_PRODUCT_VERSION);
+
+      this.jndiNameNodeId = properties.get(ActiveMQXAResourceWrapper.ACTIVEMQ_JNDI_NAME)
+
+         " NodeId:" + properties.get(ActiveMQXAResourceWrapper.ACTIVEMQ_NODE_ID);
+   }
+
+   public XAResource getResource()
+   {
+      return xaResource;
+   }
+
+   public String getProductName()
+   {
+      return productName;
+   }
+
+   public String getProductVersion()
+   {
+      return productVersion;
+   }
+
+   public String getJndiName()
+   {
+      return jndiNameNodeId;
+   }
+
+   @Override
+   public void commit(Xid xid, boolean b) throws XAException
+   {
+      getResource().commit(xid, b);
+   }
+
+   @Override
+   public void end(Xid xid, int i) throws XAException
+   {
+      getResource().end(xid, i);
+   }
+
+   @Override
+   public void forget(Xid xid) throws XAException
+   {
+      getResource().forget(xid);
+   }
+
+   @Override
+   public int getTransactionTimeout() throws XAException
+   {
+      return getResource().getTransactionTimeout();
+   }
+
+   @Override
+   public boolean isSameRM(XAResource xaResource) throws XAException
+   {
+      return getResource().isSameRM(xaResource);
+   }
+
+   @Override
+   public int prepare(Xid xid) throws XAException
+   {
+      return getResource().prepare(xid);
+   }
+
+   @Override
+   public Xid[] recover(int i) throws XAException
+   {
+      return getResource().recover(i);
+   }
+
+   @Override
+   public void rollback(Xid xid) throws XAException
+   {
+      getResource().rollback(xid);
+   }
+
+   @Override
+   public boolean setTransactionTimeout(int i) throws XAException
+   {
+      return getResource().setTransactionTimeout(i);
+   }
+
+   @Override
+   public void start(Xid xid, int i) throws XAException
+   {
+      getResource().start(xid, i);
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/ActiveMQXAResourceWrapperImplTest.java
----------------------------------------------------------------------
diff --git a/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/ActiveMQXAResourceWrapperImplTest.java
b/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/ActiveMQXAResourceWrapperImplTest.java
new file mode 100644
index 0000000..fdfdced
--- /dev/null
+++ b/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/ActiveMQXAResourceWrapperImplTest.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat 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.activemq.service.extensions.tests.xa;
+
+import javax.transaction.xa.XAResource;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapper;
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapperImpl;
+import org.junit.Test;
+
+import static org.jgroups.util.Util.assertEquals;
+
+/**
+ * @author <a href="mailto:mtaylor@redhat.com">Martyn Taylor</a>
+ */
+
+public class ActiveMQXAResourceWrapperImplTest
+{
+   @Test
+   public void testXAResourceWrapper()
+   {
+      String jndiName = "java://jmsXA";
+      String nodeId = "0";
+      XAResource xaResource = new MockXAResource();
+
+      Map<String, Object> xaResourceWrapperProperties = new HashMap<String, Object>();
+      xaResourceWrapperProperties.put(ActiveMQXAResourceWrapper.ACTIVEMQ_JNDI_NAME, jndiName);
+      xaResourceWrapperProperties.put(ActiveMQXAResourceWrapper.ACTIVEMQ_NODE_ID, nodeId);
+      xaResourceWrapperProperties.put(ActiveMQXAResourceWrapper.ACTIVEMQ_PRODUCT_VERSION,
"6");
+      xaResourceWrapperProperties.put(ActiveMQXAResourceWrapper.ACTIVEMQ_PRODUCT_NAME, "ActiveMQ");
+      ActiveMQXAResourceWrapperImpl xaResourceWrapper = new ActiveMQXAResourceWrapperImpl(xaResource,
xaResourceWrapperProperties);
+
+      String expectedJndiNodeId = jndiName + " NodeId:" + nodeId;
+      assertEquals(xaResource, xaResourceWrapper.getResource());
+      assertEquals(expectedJndiNodeId, xaResourceWrapper.getJndiName());
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/MockActiveMQResourceWrapperFactory.java
----------------------------------------------------------------------
diff --git a/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/MockActiveMQResourceWrapperFactory.java
b/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/MockActiveMQResourceWrapperFactory.java
new file mode 100644
index 0000000..9576051
--- /dev/null
+++ b/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/MockActiveMQResourceWrapperFactory.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat 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.activemq.service.extensions.tests.xa;
+
+import javax.transaction.xa.XAResource;
+import java.util.Map;
+
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapper;
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapperFactory;
+
+/**
+ * @author <a href="mailto:mtaylor@redhat.com">Martyn Taylor</a>
+ */
+
+public class MockActiveMQResourceWrapperFactory implements ActiveMQXAResourceWrapperFactory
+{
+   @Override
+   public ActiveMQXAResourceWrapper wrap(XAResource xaResource, Map<String, Object>
properties)
+   {
+      return null;
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/MockXAResource.java
----------------------------------------------------------------------
diff --git a/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/MockXAResource.java
b/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/MockXAResource.java
new file mode 100644
index 0000000..3524e87
--- /dev/null
+++ b/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/MockXAResource.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat 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.activemq.service.extensions.tests.xa;
+
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.Xid;
+
+/**
+ * @author <a href="mailto:mtaylor@redhat.com">Martyn Taylor</a>
+ */
+
+public class MockXAResource implements XAResource
+{
+   @Override
+   public void commit(Xid xid, boolean b) throws XAException
+   {
+
+   }
+
+   @Override
+   public void end(Xid xid, int i) throws XAException
+   {
+
+   }
+
+   @Override
+   public void forget(Xid xid) throws XAException
+   {
+
+   }
+
+   @Override
+   public int getTransactionTimeout() throws XAException
+   {
+      return 0;
+   }
+
+   @Override
+   public boolean isSameRM(XAResource xaResource) throws XAException
+   {
+      return false;
+   }
+
+   @Override
+   public int prepare(Xid xid) throws XAException
+   {
+      return 0;
+   }
+
+   @Override
+   public Xid[] recover(int i) throws XAException
+   {
+      return new Xid[0];
+   }
+
+   @Override
+   public void rollback(Xid xid) throws XAException
+   {
+
+   }
+
+   @Override
+   public boolean setTransactionTimeout(int i) throws XAException
+   {
+      return false;
+   }
+
+   @Override
+   public void start(Xid xid, int i) throws XAException
+   {
+
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/ServiceUtilsTest.java
----------------------------------------------------------------------
diff --git a/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/ServiceUtilsTest.java
b/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/ServiceUtilsTest.java
new file mode 100644
index 0000000..391db73
--- /dev/null
+++ b/activemq-service-extensions/src/test/java/org/apache/activemq/service/extensions/tests/xa/ServiceUtilsTest.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2005-2014 Red Hat, Inc.
+ * Red Hat 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.activemq.service.extensions.tests.xa;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.activemq.service.extensions.ServiceUtils;
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapperFactory;
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapperFactoryImpl;
+import org.junit.Test;
+
+import static org.jgroups.util.Util.assertTrue;
+
+/**
+ * @author <a href="mailto:mtaylor@redhat.com">Martyn Taylor</a>
+ */
+
+public class ServiceUtilsTest
+{
+   @Test
+   public void testSetActiveMQXAResourceWrapperFactorySetsDefaultImplWhenNoOther() throws
Exception
+   {
+      List<ActiveMQXAResourceWrapperFactory> factories = new ArrayList<ActiveMQXAResourceWrapperFactory>();
+
+      Method method = ServiceUtils.class.getDeclaredMethod("setActiveMQXAResourceWrapperFactory",
Iterable.class);
+      method.setAccessible(true);
+      method.invoke(null, factories);
+
+      Field field = ServiceUtils.class.getDeclaredField("activeMQXAResourceWrapperFactory");
+      field.setAccessible(true);
+      assertTrue(field.get(null) instanceof ActiveMQXAResourceWrapperFactoryImpl);
+   }
+
+   @Test
+   public void testSetActiveMQXAResourceWrapperFactorySetsExtensionImplWhenSupplied() throws
Exception
+   {
+      List<ActiveMQXAResourceWrapperFactory> factories = new ArrayList<ActiveMQXAResourceWrapperFactory>();
+      factories.add(new MockActiveMQResourceWrapperFactory());
+
+      Method method = ServiceUtils.class.getDeclaredMethod("setActiveMQXAResourceWrapperFactory",
Iterable.class);
+      method.setAccessible(true);
+      method.invoke(null, factories);
+
+      Field field = ServiceUtils.class.getDeclaredField("activeMQXAResourceWrapperFactory");
+      field.setAccessible(true);
+      assertTrue(field.get(null) instanceof MockActiveMQResourceWrapperFactory);
+   }
+}

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 568df79..9ae2e1c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,12 +242,6 @@
             <artifactId>jbossjts-jacorb</artifactId>
             <version>4.17.13.Final</version>
          </dependency>
-         <!-- this for Ironjacamar SPI XAResourceWrapper implementation -->
-         <dependency>
-            <groupId>org.jboss.ironjacamar</groupId>
-            <artifactId>ironjacamar-core-api</artifactId>
-            <version>1.2.0.Beta2</version>
-         </dependency>
          <!--needed to compile security-->
          <dependency>
             <groupId>org.jboss.security</groupId>
@@ -489,6 +483,7 @@
             <module>activemq-ra</module>
             <module>activemq-rest</module>
             <module>activemq-tools</module>
+            <module>activemq-service-extensions</module>
             <!-- <module>integration/activemq-jboss-as-integration</module>
-->
             <module>integration/activemq-spring-integration</module>
             <module>integration/activemq-twitter-integration</module>
@@ -513,6 +508,7 @@
             <module>activemq-ra</module>
             <module>activemq-rest</module>
             <module>activemq-tools</module>
+            <module>activemq-service-extensions</module>
             <module>integration/activemq-jboss-as-integration</module>
             <module>integration/activemq-spring-integration</module>
             <module>integration/activemq-twitter-integration</module>
@@ -537,6 +533,7 @@
             <module>activemq-ra</module>
             <module>activemq-rest</module>
             <module>activemq-tools</module>
+            <module>activemq-service-extensions</module>
             <module>integration/activemq-jboss-as-integration</module>
             <module>integration/activemq-spring-integration</module>
             <module>integration/activemq-twitter-integration</module>
@@ -563,6 +560,7 @@
             <module>activemq-ra</module>
             <module>activemq-rest</module>
             <module>activemq-tools</module>
+            <module>activemq-service-extensions</module>
             <module>integration/activemq-jboss-as-integration</module>
             <module>integration/activemq-spring-integration</module>
             <module>integration/activemq-twitter-integration</module>
@@ -600,6 +598,7 @@
             <module>activemq-ra</module>
             <module>activemq-rest</module>
             <module>activemq-tools</module>
+            <module>activemq-service-extensions</module>
             <module>integration/activemq-jboss-as-integration</module>
             <module>integration/activemq-spring-integration</module>
             <module>integration/activemq-twitter-integration</module>
@@ -633,6 +632,7 @@
             <module>activemq-ra</module>
             <module>activemq-rest</module>
             <module>activemq-tools</module>
+            <module>activemq-service-extensions</module>
             <module>integration/activemq-jboss-as-integration</module>
             <module>integration/activemq-spring-integration</module>
             <module>integration/activemq-twitter-integration</module>

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/tests/integration-tests/pom.xml
----------------------------------------------------------------------
diff --git a/tests/integration-tests/pom.xml b/tests/integration-tests/pom.xml
index ab54fba..42a31ba 100644
--- a/tests/integration-tests/pom.xml
+++ b/tests/integration-tests/pom.xml
@@ -220,11 +220,6 @@
          <version>1.0.1</version>
          <scope>test</scope>
       </dependency>
-      <dependency>
-         <groupId>org.jboss.ironjacamar</groupId>
-         <artifactId>ironjacamar-core-api</artifactId>
-         <scope>test</scope>
-      </dependency>
    </dependencies>
 
    <build>

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/tests/integration-tests/src/test/java/org/apache/activemq/tests/integration/ra/OutgoingConnectionTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/tests/integration/ra/OutgoingConnectionTest.java
b/tests/integration-tests/src/test/java/org/apache/activemq/tests/integration/ra/OutgoingConnectionTest.java
index 8cbed72..3f8b8d3 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/tests/integration/ra/OutgoingConnectionTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/tests/integration/ra/OutgoingConnectionTest.java
@@ -49,8 +49,9 @@ import org.apache.activemq.ra.ActiveMQRAConnectionManager;
 import org.apache.activemq.ra.ActiveMQRAManagedConnectionFactory;
 import org.apache.activemq.ra.ActiveMQRASession;
 import org.apache.activemq.ra.ActiveMQResourceAdapter;
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapper;
+import org.apache.activemq.service.extensions.xa.ActiveMQXAResourceWrapperImpl;
 import org.apache.activemq.utils.UUIDGenerator;
-import org.apache.activemq.ra.ActiveMQXAResourceWrapper;
 import org.apache.activemq.utils.VersionLoader;
 import org.junit.After;
 import org.junit.Before;
@@ -525,7 +526,7 @@ public class OutgoingConnectionTest extends ActiveMQRATestBase
       XAResource resource = s.getXAResource();
       assertTrue(resource instanceof ActiveMQXAResourceWrapper);
 
-      ActiveMQXAResourceWrapper xaResourceWrapper  = (ActiveMQXAResourceWrapper) resource;
+      ActiveMQXAResourceWrapperImpl xaResourceWrapper  = (ActiveMQXAResourceWrapperImpl)
resource;
       assertTrue(xaResourceWrapper.getJndiName().equals("java://jmsXA NodeId:" + server.getNodeID()));
       assertTrue(xaResourceWrapper.getProductVersion().equals(VersionLoader.getVersion().getFullVersion()));
       assertTrue(xaResourceWrapper.getProductName().equals(ActiveMQResourceAdapter.PRODUCT_NAME));

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/tests/unit-tests/pom.xml
----------------------------------------------------------------------
diff --git a/tests/unit-tests/pom.xml b/tests/unit-tests/pom.xml
index b159159..c8f19c4 100644
--- a/tests/unit-tests/pom.xml
+++ b/tests/unit-tests/pom.xml
@@ -75,11 +75,6 @@
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging-processor</artifactId>
        </dependency>
-      <!-- this for Ironjacamar SPI XAResourceWrapper implementation -->
-      <dependency>
-         <groupId>org.jboss.ironjacamar</groupId>
-         <artifactId>ironjacamar-core-api</artifactId>
-      </dependency>
        <!--
            JBoss Logging
        -->

http://git-wip-us.apache.org/repos/asf/activemq-6/blob/60fbb105/tests/unit-tests/src/test/java/org/apache/activemq/tests/unit/xa/XAResourceWrapperTest.java
----------------------------------------------------------------------
diff --git a/tests/unit-tests/src/test/java/org/apache/activemq/tests/unit/xa/XAResourceWrapperTest.java
b/tests/unit-tests/src/test/java/org/apache/activemq/tests/unit/xa/XAResourceWrapperTest.java
deleted file mode 100644
index e78258d..0000000
--- a/tests/unit-tests/src/test/java/org/apache/activemq/tests/unit/xa/XAResourceWrapperTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2005-2014 Red Hat, Inc.
- * Red Hat 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.activemq.tests.unit.xa;
-
-import javax.transaction.xa.XAResource;
-
-import org.apache.activemq.ra.ActiveMQRAXAResource;
-import org.apache.activemq.ra.ActiveMQXAResourceWrapper;
-import org.apache.activemq.tests.util.UnitTestCase;
-import org.jboss.tm.XAResourceWrapper;
-import org.junit.Test;
-
-/**
- * @author <a href="mailto:mtaylor@redhat.com">Martyn Taylor</a>
- */
-
-public class XAResourceWrapperTest extends UnitTestCase
-{
-   @Test
-   public void testXAResourceWrapper()
-   {
-      String jndiName = "java://jmsXA";
-      String nodeId = "0";
-      XAResource xaResource = new ActiveMQRAXAResource(null, null);
-      XAResourceWrapper xaResourceWrapper = new ActiveMQXAResourceWrapper(xaResource, jndiName,
nodeId);
-
-      assertEquals(xaResource, xaResourceWrapper.getResource());
-
-      String expectedJndiNodeId = jndiName + " NodeId:" + nodeId;
-      assertEquals(expectedJndiNodeId, xaResourceWrapper.getJndiName());
-   }
-}


Mime
View raw message