You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by gp...@apache.org on 2012/08/04 21:41:41 UTC

[1/2] git commit: DELTASPIKE-257 transaction package for api and spi

Updated Branches:
  refs/heads/master b553192c9 -> 0c4b0f784


DELTASPIKE-257 transaction package for api and spi


Project: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/0c4b0f78
Tree: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/0c4b0f78
Diff: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/0c4b0f78

Branch: refs/heads/master
Commit: 0c4b0f7841e13543b37f1a4a72de821ff5efe57c
Parents: b553192
Author: gpetracek <gp...@apache.org>
Authored: Sat Aug 4 21:14:13 2012 +0200
Committer: gpetracek <gp...@apache.org>
Committed: Sat Aug 4 21:39:15 2012 +0200

----------------------------------------------------------------------
 .../deltaspike/jpa/api/TransactionHelper.java      |   67 ----------
 .../deltaspike/jpa/api/TransactionScoped.java      |  102 ---------------
 .../apache/deltaspike/jpa/api/Transactional.java   |   57 --------
 .../jpa/api/transaction/TransactionHelper.java     |   67 ++++++++++
 .../jpa/api/transaction/TransactionScoped.java     |  102 +++++++++++++++
 .../jpa/api/transaction/Transactional.java         |   57 ++++++++
 .../deltaspike/jpa/spi/TransactionStrategy.java    |   28 ----
 .../jpa/spi/transaction/TransactionStrategy.java   |   28 ++++
 .../BeanManagedUserTransactionStrategy.java        |    2 +-
 .../EnvironmentAwareTransactionStrategy.java       |    2 +-
 .../ResourceLocalTransactionStrategy.java          |    4 +-
 .../SimpleEnvironmentAwareTransactionStrategy.java |    4 +-
 .../transaction/TransactionStrategyHelper.java     |    4 +-
 .../impl/transaction/TransactionalInterceptor.java |   10 +-
 .../context/TransactionBeanStorage.java            |    2 +-
 .../transaction/context/TransactionContext.java    |    7 +-
 .../FailedFlushTransactionalBean.java              |    2 +-
 .../defaultinjection/FailedTransactionalBean.java  |    2 +-
 .../defaultinjection/TransactionalBean.java        |    2 +-
 .../defaultnested/FirstLevelTransactionBean.java   |    2 +-
 .../defaultnested/NestedTransactionBean.java       |    2 +-
 .../nested/FirstLevelTransactionBean.java          |    2 +-
 .../nested/NestedTransactionBean.java              |    2 +-
 .../catched/nested/FirstLevelTransactionBean.java  |    2 +-
 .../catched/nested/NestedTransactionBean.java      |    2 +-
 .../auto/MultiTransactionBean.java                 |    2 +-
 .../flush/auto/MultiTransactionBean.java           |    2 +-
 .../flush/nested/FirstLevelTransactionBean.java    |    2 +-
 .../flush/nested/NestedTransactionBean.java        |    2 +-
 .../nested/FirstLevelTransactionBean.java          |    2 +-
 .../nested/NestedTransactionBean.java              |    2 +-
 .../nested/FirstLevelTransactionBean.java          |    2 +-
 .../uncatched/nested/NestedTransactionBean.java    |    2 +-
 .../auto/MultiTransactionBean.java                 |    3 +-
 .../nested/FirstLevelTransactionBean.java          |    2 +-
 .../nested/NestedTransactionBean.java              |    3 +-
 .../auto/MultiTransactionBean.java                 |    2 +-
 .../manual/ManualTransactionBean.java              |    2 +-
 .../nested/FirstLevelTransactionBean.java          |    2 +-
 .../nested/NestedTransactionBean.java              |    2 +-
 .../nested/FirstLevelTransactionBean.java          |    2 +-
 .../nested/NestedTransactionBean.java              |    2 +-
 .../api/transactional/stereotype/Repository.java   |    2 +-
 .../transactionhelper/TransactionHelperTest.java   |    2 +-
 .../TransactionScopedEntityManagerProducer.java    |    2 +-
 .../TestEntityManagerProducer.java                 |    2 +-
 .../defaultinjection/TransactionalBean.java        |    2 +-
 .../defaultnested/FirstLevelTransactionBean.java   |    2 +-
 .../defaultnested/NestedTransactionBean.java       |    2 +-
 .../defaultnested/TestEntityManagerProducer.java   |    2 +-
 .../auto/MultiTransactionBean.java                 |    2 +-
 .../auto/TestEntityManagerProducer.java            |    2 +-
 .../manual/ManualTransactionBean.java              |    2 +-
 .../manual/TestEntityManagerProducer.java          |    2 +-
 .../nested/FirstLevelTransactionBean.java          |    2 +-
 .../nested/NestedTransactionBean.java              |    2 +-
 .../nested/TestEntityManagerProducer.java          |    2 +-
 .../nested/FirstLevelTransactionBean.java          |    2 +-
 .../nested/NestedTransactionBean.java              |    2 +-
 .../nested/TestEntityManagerProducer.java          |    2 +-
 .../transactionscoped/stereotype/Repository.java   |    2 +-
 .../stereotype/TestEntityManagerProducer.java      |    2 +-
 62 files changed, 318 insertions(+), 319 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/TransactionHelper.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/TransactionHelper.java b/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/TransactionHelper.java
deleted file mode 100644
index 70ed5db..0000000
--- a/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/TransactionHelper.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.jpa.api;
-
-import org.apache.deltaspike.core.api.provider.BeanProvider;
-
-import javax.enterprise.context.ApplicationScoped;
-import java.util.concurrent.Callable;
-
-/**
- * <p></p>This class allows to execute CDI-unmanaged code blocks in a
- * &#064;Transactional manner. This is handy if you like e.g. to execute
- * database code in a unit test tearDown method.</p>
- *
- * <p><b>Attention:</b> please be aware that this helper only works for
- * &#064;Transactional with auto-detecting the EntityManager!
- * If you need to manually specify the EntityManager Qualifier
- * for another EntityManager, then you need to copy this code and adopt it.</p>
- * <p> Usage:
- * <pre>
- *  SomeEntity retVal = TransactionHelper.getInstance().executeTransactional( new Callable<Integer>() {
- *    private @Inject EntityManager em;
- *    public SomeEntity call() throws Exception {
- *      return em.find(entityId, SomeEntity.class);
- *    }
- *  } );
- * </pre>
- * </p>
- */
-@ApplicationScoped
-public class TransactionHelper
-{
-    public static TransactionHelper getInstance()
-    {
-        return BeanProvider.getContextualReference(TransactionHelper.class);
-    }
-
-    /**
-     * Execute the given {@link Callable} in a Transitional manner.
-     *
-     * @param callable which will get executed in a &#064;Transactional block
-     * @param <T> the return type of the executed {@link Callable}
-     * @return the return value of the executed {@link Callable}
-     * @throws Exception
-     */
-    @Transactional
-    public <T> T executeTransactional(Callable<T> callable) throws Exception
-    {
-        return callable.call();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/TransactionScoped.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/TransactionScoped.java b/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/TransactionScoped.java
deleted file mode 100644
index dbdef17..0000000
--- a/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/TransactionScoped.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.jpa.api;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.enterprise.context.NormalScope;
-
-/**
- * <p>A &#064;TransactionScoped contextual instance will be unique for a given
- * transaction controlled by {@link Transactional}. The context will get started when the outermost
- * {@link Transactional} method gets invoked and will get closed when
- * the call chain leaves the outermost {@link Transactional} method.</p>
- *
- * <p>The classic use-case is for producing JPA EntityManagers.
- * <pre>
- *  &#064;Dependent
- *  public class EntityManagerProducer
- *  {
- *      private &#064;PersistenceContext(unitName = "test") EntityManager entityManager;
- *
- *      public &#064;Produces &#064;TransactionScoped EntityManager createEntityManager()
- *      {
- *          return entityManager;
- *      }
- *
- *      public void closeEntityManager(&#064;Disposes EntityManager em)
- *      {
- *          if (em.isOpen()) //this check is optional -not needed if #close doesn't get called by the transactional bean
- *          {
- *              em.close();
- *          }
- *      }
- *  }
- * </pre>
- * </p>
- * or
- * <p>
- * <pre>
- *  &#064;Dependent
- *  public class EntityManagerProducer
- *  {
- *      private &#064;PersistenceUnit(unitName = "test") EntityManagerFactory entityManagerFactory;
- *
- *      public &#064;Produces &#064;TransactionScoped EntityManager createEntityManager()
- *      {
- *          return entityManagerFactory.createEntityManager();
- *      }
- *
- *      public void closeEntityManager(&#064;Disposes EntityManager em)
- *      {
- *          if (em.isOpen()) //this check is optional -not needed if #close doesn't get called by the transactional bean
- *          {
- *              em.close();
- *          }
- *      }
- *  }
- * </pre>
- * </p>
- *
- * <p>
- * Furthermore, it's possible to use different persistence-units with (simple) qualifiers
- * (for the producer- and dispose-methods and therefore also at the injection-points).
- * </p>
- *
- * <p>
- * It's also possible to use &#064;Transactional and &#064;TransactionScoped in an application-server.
- * Therefore it's only needed to configure one of the {@link org.apache.deltaspike.jpa.spi.TransactionStrategy}s which
- * support JTA.
- * </p>
- *
- * @see Transactional
- */
-@Documented
-@Inherited
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.FIELD })
-@NormalScope(passivating = false)
-public @interface TransactionScoped
-{
-}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/Transactional.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/Transactional.java b/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/Transactional.java
deleted file mode 100644
index c86ac49..0000000
--- a/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/Transactional.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.jpa.api;
-
-import javax.enterprise.inject.Any;
-import javax.enterprise.util.Nonbinding;
-import javax.interceptor.InterceptorBinding;
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import java.lang.annotation.Annotation;
-
-/**
- * If it isn't possible to use EJBs, this interceptor adds transaction support to methods or a class.
- * The optional qualifier can be used to specify different entity managers.
- * <p/>
- * Further details can be found at {@link TransactionScoped} which is an optional scope which can be used together with
- * &#064;Transactional.
- */
-
-@InterceptorBinding
-@Documented
-@Inherited
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ ElementType.TYPE, ElementType.METHOD })
-public @interface Transactional
-{
-    /**
-     * Optional qualifier/s which allow/s to start only specific transactions instead of one
-     * for the injected {@link javax.persistence.EntityManager}s.
-     * Default-value is {@link Any} which means any injected {@link javax.persistence.EntityManager}s
-     * should be detected automatically and transactions for all injected {@link javax.persistence.EntityManager}s
-     * will be started
-     * @return target persistence-unit identifier
-     */
-    @Nonbinding Class<? extends Annotation>[] qualifier() default Any.class;
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/transaction/TransactionHelper.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/transaction/TransactionHelper.java b/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/transaction/TransactionHelper.java
new file mode 100644
index 0000000..4107bf0
--- /dev/null
+++ b/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/transaction/TransactionHelper.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.jpa.api.transaction;
+
+import org.apache.deltaspike.core.api.provider.BeanProvider;
+
+import javax.enterprise.context.ApplicationScoped;
+import java.util.concurrent.Callable;
+
+/**
+ * <p></p>This class allows to execute CDI-unmanaged code blocks in a
+ * &#064;Transactional manner. This is handy if you like e.g. to execute
+ * database code in a unit test tearDown method.</p>
+ *
+ * <p><b>Attention:</b> please be aware that this helper only works for
+ * &#064;Transactional with auto-detecting the EntityManager!
+ * If you need to manually specify the EntityManager Qualifier
+ * for another EntityManager, then you need to copy this code and adopt it.</p>
+ * <p> Usage:
+ * <pre>
+ *  SomeEntity retVal = TransactionHelper.getInstance().executeTransactional( new Callable<Integer>() {
+ *    private @Inject EntityManager em;
+ *    public SomeEntity call() throws Exception {
+ *      return em.find(entityId, SomeEntity.class);
+ *    }
+ *  } );
+ * </pre>
+ * </p>
+ */
+@ApplicationScoped
+public class TransactionHelper
+{
+    public static TransactionHelper getInstance()
+    {
+        return BeanProvider.getContextualReference(TransactionHelper.class);
+    }
+
+    /**
+     * Execute the given {@link Callable} in a Transitional manner.
+     *
+     * @param callable which will get executed in a &#064;Transactional block
+     * @param <T> the return type of the executed {@link Callable}
+     * @return the return value of the executed {@link Callable}
+     * @throws Exception
+     */
+    @Transactional
+    public <T> T executeTransactional(Callable<T> callable) throws Exception
+    {
+        return callable.call();
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/transaction/TransactionScoped.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/transaction/TransactionScoped.java b/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/transaction/TransactionScoped.java
new file mode 100644
index 0000000..a4189fd
--- /dev/null
+++ b/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/transaction/TransactionScoped.java
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.jpa.api.transaction;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.enterprise.context.NormalScope;
+
+/**
+ * <p>A &#064;TransactionScoped contextual instance will be unique for a given
+ * transaction controlled by {@link Transactional}. The context will get started when the outermost
+ * {@link Transactional} method gets invoked and will get closed when
+ * the call chain leaves the outermost {@link Transactional} method.</p>
+ *
+ * <p>The classic use-case is for producing JPA EntityManagers.
+ * <pre>
+ *  &#064;Dependent
+ *  public class EntityManagerProducer
+ *  {
+ *      private &#064;PersistenceContext(unitName = "test") EntityManager entityManager;
+ *
+ *      public &#064;Produces &#064;TransactionScoped EntityManager createEntityManager()
+ *      {
+ *          return entityManager;
+ *      }
+ *
+ *      public void closeEntityManager(&#064;Disposes EntityManager em)
+ *      {
+ *          if (em.isOpen()) //this check is optional -not needed if #close doesn't get called by the transactional bean
+ *          {
+ *              em.close();
+ *          }
+ *      }
+ *  }
+ * </pre>
+ * </p>
+ * or
+ * <p>
+ * <pre>
+ *  &#064;Dependent
+ *  public class EntityManagerProducer
+ *  {
+ *      private &#064;PersistenceUnit(unitName = "test") EntityManagerFactory entityManagerFactory;
+ *
+ *      public &#064;Produces &#064;TransactionScoped EntityManager createEntityManager()
+ *      {
+ *          return entityManagerFactory.createEntityManager();
+ *      }
+ *
+ *      public void closeEntityManager(&#064;Disposes EntityManager em)
+ *      {
+ *          if (em.isOpen()) //this check is optional -not needed if #close doesn't get called by the transactional bean
+ *          {
+ *              em.close();
+ *          }
+ *      }
+ *  }
+ * </pre>
+ * </p>
+ *
+ * <p>
+ * Furthermore, it's possible to use different persistence-units with (simple) qualifiers
+ * (for the producer- and dispose-methods and therefore also at the injection-points).
+ * </p>
+ *
+ * <p>
+ * It's also possible to use &#064;Transactional and &#064;TransactionScoped in an application-server.
+ * Therefore it's only needed to configure one of the
+ * {@link org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy}s which support JTA.
+ * </p>
+ *
+ * @see Transactional
+ */
+@Documented
+@Inherited
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.FIELD })
+@NormalScope(passivating = false)
+public @interface TransactionScoped
+{
+}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/transaction/Transactional.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/transaction/Transactional.java b/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/transaction/Transactional.java
new file mode 100644
index 0000000..03ae24d
--- /dev/null
+++ b/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/api/transaction/Transactional.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.jpa.api.transaction;
+
+import javax.enterprise.inject.Any;
+import javax.enterprise.util.Nonbinding;
+import javax.interceptor.InterceptorBinding;
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.Annotation;
+
+/**
+ * If it isn't possible to use EJBs, this interceptor adds transaction support to methods or a class.
+ * The optional qualifier can be used to specify different entity managers.
+ * <p/>
+ * Further details can be found at {@link TransactionScoped} which is an optional scope which can be used together with
+ * &#064;Transactional.
+ */
+
+@InterceptorBinding
+@Documented
+@Inherited
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ ElementType.TYPE, ElementType.METHOD })
+public @interface Transactional
+{
+    /**
+     * Optional qualifier/s which allow/s to start only specific transactions instead of one
+     * for the injected {@link javax.persistence.EntityManager}s.
+     * Default-value is {@link Any} which means any injected {@link javax.persistence.EntityManager}s
+     * should be detected automatically and transactions for all injected {@link javax.persistence.EntityManager}s
+     * will be started
+     * @return target persistence-unit identifier
+     */
+    @Nonbinding Class<? extends Annotation>[] qualifier() default Any.class;
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/spi/TransactionStrategy.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/spi/TransactionStrategy.java b/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/spi/TransactionStrategy.java
deleted file mode 100644
index 73a287a..0000000
--- a/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/spi/TransactionStrategy.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.jpa.spi;
-
-import org.apache.deltaspike.core.spi.InterceptorStrategy;
-
-/**
- * Marker interface for a plugable strategy for {@link org.apache.deltaspike.jpa.api.Transactional}.
- */
-public interface TransactionStrategy extends InterceptorStrategy
-{
-}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/spi/transaction/TransactionStrategy.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/spi/transaction/TransactionStrategy.java b/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/spi/transaction/TransactionStrategy.java
new file mode 100644
index 0000000..01f2439
--- /dev/null
+++ b/deltaspike/modules/jpa/api/src/main/java/org/apache/deltaspike/jpa/spi/transaction/TransactionStrategy.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.jpa.spi.transaction;
+
+import org.apache.deltaspike.core.spi.InterceptorStrategy;
+
+/**
+ * Marker interface for a plugable strategy for {@link org.apache.deltaspike.jpa.api.transaction.Transactional}.
+ */
+public interface TransactionStrategy extends InterceptorStrategy
+{
+}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/BeanManagedUserTransactionStrategy.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/BeanManagedUserTransactionStrategy.java b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/BeanManagedUserTransactionStrategy.java
index 91b3d7d..63abfdd 100644
--- a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/BeanManagedUserTransactionStrategy.java
+++ b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/BeanManagedUserTransactionStrategy.java
@@ -35,7 +35,7 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 
 /**
- * <p>{@link org.apache.deltaspike.jpa.spi.TransactionStrategy} for using JTA (bean-managed-)transactions
+ * <p>{@link org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy} for using JTA (bean-managed-)transactions
  * (including XA transactions with a XA DataSource).
  * The basic features are identical to the {@link ResourceLocalTransactionStrategy} (for
  * persistent-unit-transaction-type 'RESOURCE_LOCAL' only).</p>

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/EnvironmentAwareTransactionStrategy.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/EnvironmentAwareTransactionStrategy.java b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/EnvironmentAwareTransactionStrategy.java
index 6fdf1fc..b4079ab 100644
--- a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/EnvironmentAwareTransactionStrategy.java
+++ b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/EnvironmentAwareTransactionStrategy.java
@@ -31,7 +31,7 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 
 /**
- * This alternative {@link org.apache.deltaspike.jpa.spi.TransactionStrategy} uses auto-detection and
+ * This alternative {@link org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy} uses auto-detection and
  * can be used if different environments (dev., prod.,...) should use different transaction-types.
  *
  * This implementation uses a different approach for the auto-detection which can be used for environments

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalTransactionStrategy.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalTransactionStrategy.java b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalTransactionStrategy.java
index e0f0138..a42f7c4 100644
--- a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalTransactionStrategy.java
+++ b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalTransactionStrategy.java
@@ -20,10 +20,10 @@ package org.apache.deltaspike.jpa.impl.transaction;
 
 
 import org.apache.deltaspike.core.api.literal.AnyLiteral;
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.jpa.impl.transaction.context.EntityManagerEntry;
 import org.apache.deltaspike.jpa.impl.transaction.context.TransactionBeanStorage;
-import org.apache.deltaspike.jpa.spi.TransactionStrategy;
+import org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy;
 
 import javax.enterprise.context.Dependent;
 import javax.enterprise.inject.spi.Bean;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/SimpleEnvironmentAwareTransactionStrategy.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/SimpleEnvironmentAwareTransactionStrategy.java b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/SimpleEnvironmentAwareTransactionStrategy.java
index f3ffd07..f691a7b 100644
--- a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/SimpleEnvironmentAwareTransactionStrategy.java
+++ b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/SimpleEnvironmentAwareTransactionStrategy.java
@@ -31,7 +31,7 @@ import java.lang.annotation.Annotation;
 import java.util.logging.Logger;
 
 /**
- * This alternative {@link org.apache.deltaspike.jpa.spi.TransactionStrategy} uses a simple auto-detection
+ * This alternative {@link org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy} uses a simple auto-detection
  * based on a failed JNDI lookup (of java:comp/UserTransaction) and
  * can be used if different environments (dev., prod.,...) should use different transaction-types.
  * It requires additional logic in the producer for the {@link EntityManager} to create the {@link EntityManager}
@@ -43,7 +43,7 @@ import java.util.logging.Logger;
  * {@link BeanManagedUserTransactionStrategy}
  * (which would lead to an impl. dependency) only for using
  * {@link org.apache.deltaspike.core.api.exclude.annotation.Exclude} at the custom
- * {@link org.apache.deltaspike.jpa.spi.TransactionStrategy}
+ * {@link org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy}
  * (or doing a custom veto-extension).
  */
 @Dependent

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/TransactionStrategyHelper.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/TransactionStrategyHelper.java b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/TransactionStrategyHelper.java
index 995d931..bea8322 100644
--- a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/TransactionStrategyHelper.java
+++ b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/TransactionStrategyHelper.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.jpa.impl.transaction;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 
 import javax.enterprise.context.Dependent;
 import javax.enterprise.inject.Any;
@@ -36,7 +36,7 @@ import java.util.Set;
 
 /**
  * Helper which provides utility methods for any
- * {@link org.apache.deltaspike.jpa.spi.TransactionStrategy}.
+ * {@link org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy}.
  */
 @Dependent
 public class TransactionStrategyHelper implements Serializable

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/TransactionalInterceptor.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/TransactionalInterceptor.java b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/TransactionalInterceptor.java
index e64f74b..1d15c90 100644
--- a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/TransactionalInterceptor.java
+++ b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/TransactionalInterceptor.java
@@ -18,8 +18,8 @@
  */
 package org.apache.deltaspike.jpa.impl.transaction;
 
-import org.apache.deltaspike.jpa.api.Transactional;
-import org.apache.deltaspike.jpa.spi.TransactionStrategy;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
+import org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy;
 
 import javax.inject.Inject;
 import javax.interceptor.AroundInvoke;
@@ -31,7 +31,7 @@ import java.io.Serializable;
  * Interceptor for wrapping transactional database requests.
  * This interceptor itself doesn't contain any functionality.
  * Instead the 'real' work is done inside a pluggable
- * {@link org.apache.deltaspike.jpa.spi.TransactionStrategy}.
+ * {@link org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy}.
  */
 @Interceptor
 @Transactional
@@ -44,8 +44,8 @@ public class TransactionalInterceptor implements Serializable
 
     /**
      * Creates a transaction before the intercepted method gets called and commits or reverts it after the invocation.
-     * A {@link org.apache.deltaspike.jpa.spi.TransactionStrategy} is allowed to begin the transaction lazily but
-     * it has to support nested interceptor calls.
+     * A {@link org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy}
+     * is allowed to begin the transaction lazily but it has to support nested interceptor calls.
      *
      * @param invocationContext current invocation-context
      * @return result of the intercepted method

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/context/TransactionBeanStorage.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/context/TransactionBeanStorage.java b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/context/TransactionBeanStorage.java
index f169a94..6a28af6 100644
--- a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/context/TransactionBeanStorage.java
+++ b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/context/TransactionBeanStorage.java
@@ -32,7 +32,7 @@ import java.util.logging.Logger;
 
 /**
  * <p>This class stores information about
- * &#064;{@link org.apache.deltaspike.jpa.api.TransactionScoped}
+ * &#064;{@link org.apache.deltaspike.jpa.api.transaction.TransactionScoped}
  * contextual instances, their {@link javax.enterprise.context.spi.CreationalContext} etc.</p>
  *
  * <p>We use a RequestScoped bean because this way we don't need to take

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/context/TransactionContext.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/context/TransactionContext.java b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/context/TransactionContext.java
index 8424df1..20c1e86 100644
--- a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/context/TransactionContext.java
+++ b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/context/TransactionContext.java
@@ -21,8 +21,8 @@ package org.apache.deltaspike.jpa.impl.transaction.context;
 
 
 import org.apache.deltaspike.core.api.provider.BeanProvider;
-import org.apache.deltaspike.jpa.api.TransactionScoped;
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.TransactionScoped;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 
 import javax.enterprise.context.ContextNotActiveException;
 import javax.enterprise.context.spi.Context;
@@ -32,7 +32,8 @@ import java.lang.annotation.Annotation;
 import java.util.Map;
 
 /**
- * CDI Context for managing &#064;{@link org.apache.deltaspike.jpa.api.TransactionScoped} contextual instances.
+ * CDI Context for managing &#064;{@link org.apache.deltaspike.jpa.api.transaction.TransactionScoped}
+ * contextual instances.
  */
 public class TransactionContext implements Context
 {

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/FailedFlushTransactionalBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/FailedFlushTransactionalBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/FailedFlushTransactionalBean.java
index 4da6ede..3139773 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/FailedFlushTransactionalBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/FailedFlushTransactionalBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.defaultinjection;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/FailedTransactionalBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/FailedTransactionalBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/FailedTransactionalBean.java
index dbc6280..2f30aec 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/FailedTransactionalBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/FailedTransactionalBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.defaultinjection;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.TestException;
 
 import javax.enterprise.context.ApplicationScoped;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/TransactionalBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/TransactionalBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/TransactionalBean.java
index 81125a8..6060f4f 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/TransactionalBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultinjection/TransactionalBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.defaultinjection;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultnested/FirstLevelTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultnested/FirstLevelTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultnested/FirstLevelTransactionBean.java
index 7647ea9..afb8180 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultnested/FirstLevelTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultnested/FirstLevelTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.defaultnested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultnested/NestedTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultnested/NestedTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultnested/NestedTransactionBean.java
index baf62ef..90466be 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultnested/NestedTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/defaultnested/NestedTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.defaultnested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/multipleinjection/nested/FirstLevelTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/multipleinjection/nested/FirstLevelTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/multipleinjection/nested/FirstLevelTransactionBean.java
index bd6974c..6e89f1e 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/multipleinjection/nested/FirstLevelTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/multipleinjection/nested/FirstLevelTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.exception.catched.multipleinjection.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 import org.apache.deltaspike.test.jpa.api.shared.TestException;
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/multipleinjection/nested/NestedTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/multipleinjection/nested/NestedTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/multipleinjection/nested/NestedTransactionBean.java
index cd5779e..9278344 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/multipleinjection/nested/NestedTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/multipleinjection/nested/NestedTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.exception.catched.multipleinjection.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.Second;
 import org.apache.deltaspike.test.jpa.api.shared.TestException;
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/nested/FirstLevelTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/nested/FirstLevelTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/nested/FirstLevelTransactionBean.java
index 546b007..0ee6f9b 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/nested/FirstLevelTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/nested/FirstLevelTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.exception.catched.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 import org.apache.deltaspike.test.jpa.api.shared.TestException;
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/nested/NestedTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/nested/NestedTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/nested/NestedTransactionBean.java
index edde5fc..e5dc48d 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/nested/NestedTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/catched/nested/NestedTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.exception.catched.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 import org.apache.deltaspike.test.jpa.api.shared.TestException;
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/auto/MultiTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/auto/MultiTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/auto/MultiTransactionBean.java
index b1fb48f..453724a 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/auto/MultiTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/auto/MultiTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.exception.uncatched.multipleinjection.auto;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 import org.apache.deltaspike.test.jpa.api.shared.Second;
 import org.apache.deltaspike.test.jpa.api.shared.TestException;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/auto/MultiTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/auto/MultiTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/auto/MultiTransactionBean.java
index 6deb524..1999427 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/auto/MultiTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/auto/MultiTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.exception.uncatched.multipleinjection.flush.auto;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 import org.apache.deltaspike.test.jpa.api.shared.Second;
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/nested/FirstLevelTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/nested/FirstLevelTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/nested/FirstLevelTransactionBean.java
index 25bac5a..f95b439 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/nested/FirstLevelTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/nested/FirstLevelTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.exception.uncatched.multipleinjection.flush.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 
 import javax.enterprise.context.ApplicationScoped;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/nested/NestedTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/nested/NestedTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/nested/NestedTransactionBean.java
index 16feddb..c1d4c79 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/nested/NestedTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/flush/nested/NestedTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.exception.uncatched.multipleinjection.flush.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.Second;
 
 import javax.enterprise.context.ApplicationScoped;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/nested/FirstLevelTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/nested/FirstLevelTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/nested/FirstLevelTransactionBean.java
index 902e962..9b0d02d 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/nested/FirstLevelTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/nested/FirstLevelTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.exception.uncatched.multipleinjection.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 
 import javax.enterprise.context.ApplicationScoped;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/nested/NestedTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/nested/NestedTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/nested/NestedTransactionBean.java
index a39cbc4..5bda3a0 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/nested/NestedTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/multipleinjection/nested/NestedTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.exception.uncatched.multipleinjection.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.Second;
 import org.apache.deltaspike.test.jpa.api.shared.TestException;
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/nested/FirstLevelTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/nested/FirstLevelTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/nested/FirstLevelTransactionBean.java
index 25a3280..b455151 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/nested/FirstLevelTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/nested/FirstLevelTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.exception.uncatched.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 
 import javax.enterprise.context.ApplicationScoped;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/nested/NestedTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/nested/NestedTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/nested/NestedTransactionBean.java
index a76ac73..784fd89 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/nested/NestedTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/exception/uncatched/nested/NestedTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.exception.uncatched.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 import org.apache.deltaspike.test.jpa.api.shared.TestException;
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/MultiTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/MultiTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/MultiTransactionBean.java
index 4ffa58b..7388c3e 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/MultiTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/MultiTransactionBean.java
@@ -18,10 +18,9 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.getRollbackOnly.multipleinjection.auto;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 import org.apache.deltaspike.test.jpa.api.shared.Second;
-import org.apache.deltaspike.test.jpa.api.shared.TestException;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/nested/FirstLevelTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/nested/FirstLevelTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/nested/FirstLevelTransactionBean.java
index 8bd5718..baa0526 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/nested/FirstLevelTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/nested/FirstLevelTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.getRollbackOnly.multipleinjection.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 
 import javax.enterprise.context.ApplicationScoped;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/nested/NestedTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/nested/NestedTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/nested/NestedTransactionBean.java
index d3d5b5f..ca0b079 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/nested/NestedTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/nested/NestedTransactionBean.java
@@ -18,9 +18,8 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.getRollbackOnly.multipleinjection.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.Second;
-import org.apache.deltaspike.test.jpa.api.shared.TestException;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/auto/MultiTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/auto/MultiTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/auto/MultiTransactionBean.java
index 25f7eff..9761e57 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/auto/MultiTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/auto/MultiTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.multipleinjection.auto;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 import org.apache.deltaspike.test.jpa.api.shared.Second;
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/manual/ManualTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/manual/ManualTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/manual/ManualTransactionBean.java
index b6d992d..d88e095 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/manual/ManualTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/manual/ManualTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.multipleinjection.manual;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 import org.apache.deltaspike.test.jpa.api.shared.Second;
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/nested/FirstLevelTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/nested/FirstLevelTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/nested/FirstLevelTransactionBean.java
index cb9cea4..455b272 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/nested/FirstLevelTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/nested/FirstLevelTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.multipleinjection.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 
 import javax.enterprise.context.ApplicationScoped;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/nested/NestedTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/nested/NestedTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/nested/NestedTransactionBean.java
index 5ff7d68..bf7b1d7 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/nested/NestedTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/multipleinjection/nested/NestedTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.multipleinjection.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.Second;
 
 import javax.enterprise.context.ApplicationScoped;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/nested/FirstLevelTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/nested/FirstLevelTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/nested/FirstLevelTransactionBean.java
index 605e1cb..2926cfb 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/nested/FirstLevelTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/nested/FirstLevelTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 
 import javax.enterprise.context.ApplicationScoped;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/nested/NestedTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/nested/NestedTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/nested/NestedTransactionBean.java
index 28148a9..7b6e7dd 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/nested/NestedTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/nested/NestedTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.nested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 
 import javax.enterprise.context.ApplicationScoped;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/stereotype/Repository.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/stereotype/Repository.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/stereotype/Repository.java
index 46ae3df..f8dce45 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/stereotype/Repository.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/stereotype/Repository.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.stereotype;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.enterprise.inject.Stereotype;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/transactionhelper/TransactionHelperTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/transactionhelper/TransactionHelperTest.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/transactionhelper/TransactionHelperTest.java
index e999608..908e4d9 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/transactionhelper/TransactionHelperTest.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/transactionhelper/TransactionHelperTest.java
@@ -19,7 +19,7 @@
 package org.apache.deltaspike.test.jpa.api.transactional.transactionhelper;
 
 import org.apache.deltaspike.core.api.provider.BeanProvider;
-import org.apache.deltaspike.jpa.api.TransactionHelper;
+import org.apache.deltaspike.jpa.api.transaction.TransactionHelper;
 import org.apache.deltaspike.jpa.impl.transaction.context.TransactionContextExtension;
 import org.apache.deltaspike.test.category.SeCategory;
 import org.apache.deltaspike.test.util.ArchiveUtils;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/transactionhelper/TransactionScopedEntityManagerProducer.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/transactionhelper/TransactionScopedEntityManagerProducer.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/transactionhelper/TransactionScopedEntityManagerProducer.java
index 51da0d9..915129d 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/transactionhelper/TransactionScopedEntityManagerProducer.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/transactionhelper/TransactionScopedEntityManagerProducer.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactional.transactionhelper;
 
-import org.apache.deltaspike.jpa.api.TransactionScoped;
+import org.apache.deltaspike.jpa.api.transaction.TransactionScoped;
 import org.apache.deltaspike.test.jpa.api.shared.TestEntityManager;
 
 import javax.enterprise.context.Dependent;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultinjection/TestEntityManagerProducer.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultinjection/TestEntityManagerProducer.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultinjection/TestEntityManagerProducer.java
index d95da69..618e486 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultinjection/TestEntityManagerProducer.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultinjection/TestEntityManagerProducer.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactionscoped.defaultinjection;
 
-import org.apache.deltaspike.jpa.api.TransactionScoped;
+import org.apache.deltaspike.jpa.api.transaction.TransactionScoped;
 import org.apache.deltaspike.test.jpa.api.shared.TestEntityManager;
 
 import javax.enterprise.context.RequestScoped;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultinjection/TransactionalBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultinjection/TransactionalBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultinjection/TransactionalBean.java
index 20aa008..aad1bcd 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultinjection/TransactionalBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultinjection/TransactionalBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactionscoped.defaultinjection;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/FirstLevelTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/FirstLevelTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/FirstLevelTransactionBean.java
index 71e858f..77edc8b 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/FirstLevelTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/FirstLevelTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactionscoped.defaultnested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/NestedTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/NestedTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/NestedTransactionBean.java
index 2e5028b..2a9a481 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/NestedTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/NestedTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactionscoped.defaultnested;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/TestEntityManagerProducer.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/TestEntityManagerProducer.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/TestEntityManagerProducer.java
index 1e43018..ca8b46f 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/TestEntityManagerProducer.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/defaultnested/TestEntityManagerProducer.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactionscoped.defaultnested;
 
-import org.apache.deltaspike.jpa.api.TransactionScoped;
+import org.apache.deltaspike.jpa.api.transaction.TransactionScoped;
 import org.apache.deltaspike.test.jpa.api.shared.TestEntityManager;
 
 import javax.enterprise.context.RequestScoped;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/auto/MultiTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/auto/MultiTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/auto/MultiTransactionBean.java
index 2719d6f..04d3b00 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/auto/MultiTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/auto/MultiTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactionscoped.multipleinjection.auto;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 import org.apache.deltaspike.test.jpa.api.shared.Second;
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/auto/TestEntityManagerProducer.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/auto/TestEntityManagerProducer.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/auto/TestEntityManagerProducer.java
index a21b7f1..1da572c 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/auto/TestEntityManagerProducer.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/auto/TestEntityManagerProducer.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactionscoped.multipleinjection.auto;
 
-import org.apache.deltaspike.jpa.api.TransactionScoped;
+import org.apache.deltaspike.jpa.api.transaction.TransactionScoped;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 import org.apache.deltaspike.test.jpa.api.shared.Second;
 import org.apache.deltaspike.test.jpa.api.shared.TestEntityManager;

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/0c4b0f78/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/manual/ManualTransactionBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/manual/ManualTransactionBean.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/manual/ManualTransactionBean.java
index 0bc4b37..077bc7f 100644
--- a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/manual/ManualTransactionBean.java
+++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactionscoped/multipleinjection/manual/ManualTransactionBean.java
@@ -18,7 +18,7 @@
  */
 package org.apache.deltaspike.test.jpa.api.transactionscoped.multipleinjection.manual;
 
-import org.apache.deltaspike.jpa.api.Transactional;
+import org.apache.deltaspike.jpa.api.transaction.Transactional;
 import org.apache.deltaspike.test.jpa.api.shared.First;
 import org.apache.deltaspike.test.jpa.api.shared.Second;