You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by hw...@apache.org on 2015/12/19 16:36:50 UTC

deltaspike git commit: DELTASPIKE-1007 transactional tests on Java EE 7

Repository: deltaspike
Updated Branches:
  refs/heads/master 944d13aef -> 63f15665c


DELTASPIKE-1007 transactional tests on Java EE 7

using both JTA @Transactional and DS @Transactional

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

Branch: refs/heads/master
Commit: 63f15665c05c338a9daae7dec0df9afc31a200a3
Parents: 944d13a
Author: Harald Wellmann <hw...@apache.org>
Authored: Sat Dec 19 16:36:46 2015 +0100
Committer: Harald Wellmann <hw...@apache.org>
Committed: Sat Dec 19 16:36:46 2015 +0100

----------------------------------------------------------------------
 deltaspike/modules/data/pom.xml                 |   1 +
 deltaspike/modules/data/test-ee7/pom.xml        | 216 +++++++++++++++++++
 .../data/test/ee7/domain/EmbeddedSimple.java    |  39 ++++
 .../deltaspike/data/test/ee7/domain/Simple.java | 147 +++++++++++++
 .../data/test/ee7/domain/SuperSimple.java       |  38 ++++
 ...taSpikeTransactionalRepositoryInterface.java |  44 ++++
 .../JtaTransactionalRepositoryInterface.java    |  44 ++++
 .../ee7/tx/DeltaSpikeTransactionalTest.java     | 138 ++++++++++++
 .../data/test/ee7/tx/JtaTransactionalTest.java  | 139 ++++++++++++
 .../ee7/tx/TransactionalQueryRunnerWrapper.java |  66 ++++++
 .../deltaspike/data/test/ee7/util/Logging.java  |  43 ++++
 .../data/test/ee7/util/TestDeployments.java     |  62 ++++++
 .../resources-glassfish/test-persistence.xml    |  30 +++
 .../resources-weblogic/test-persistence.xml     |  31 +++
 .../test/resources-wildfly/test-persistence.xml |  27 +++
 .../src/test/resources/logging.properties       |  32 +++
 16 files changed, 1097 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/pom.xml
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/pom.xml b/deltaspike/modules/data/pom.xml
index 00dab33..24e3a00 100755
--- a/deltaspike/modules/data/pom.xml
+++ b/deltaspike/modules/data/pom.xml
@@ -33,6 +33,7 @@
     <modules>
         <module>api</module>
         <module>impl</module>
+        <module>test-ee7</module>
     </modules>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/pom.xml
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/pom.xml b/deltaspike/modules/data/test-ee7/pom.xml
new file mode 100644
index 0000000..e36f9e4
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/pom.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
+<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.deltaspike.modules</groupId>
+        <artifactId>data-module-project</artifactId>
+        <version>1.5.3-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>deltaspike-data-module-test-ee7</artifactId>
+    <packaging>jar</packaging>
+
+    <name>Apache DeltaSpike Data-Module Tests on Java EE 7</name>
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <configuration>
+                        <argLine>-Xms128m -Xmx1024m -XX:MaxPermSize=256m</argLine>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+        <plugins>
+            <plugin>
+                <groupId>org.bsc.maven</groupId>
+                <artifactId>maven-processor-plugin</artifactId>
+                <version>2.0.7</version>
+                <executions>
+                    <execution>
+                        <id>process-test</id>
+                        <goals>
+                            <goal>process-test</goal>
+                        </goals>
+                        <phase>generate-test-sources</phase>
+                    </execution>
+                </executions>
+                <configuration>
+                    <processors>
+                        <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
+                    </processors>
+                </configuration>
+                <dependencies>
+                    <!-- this part of Hibernate is Apache License 2.0, thus O.K. for us. -->
+                    <dependency>
+                        <groupId>org.hibernate</groupId>
+                        <artifactId>hibernate-jpamodelgen</artifactId>
+                        <version>1.2.0.Final</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jpa_2.1_spec</artifactId>
+            <version>1.0-alpha-1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jta_1.2_spec</artifactId>
+            <version>1.0-alpha-1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.deltaspike.modules</groupId>
+            <artifactId>deltaspike-data-module-api</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.deltaspike.modules</groupId>
+            <artifactId>deltaspike-data-module-impl</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.deltaspike.core</groupId>
+            <artifactId>deltaspike-core-impl</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.deltaspike.modules</groupId>
+            <artifactId>deltaspike-partial-bean-module-impl</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.deltaspike.modules</groupId>
+            <artifactId>deltaspike-jpa-module-impl</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
+        <!-- Tests -->
+
+        <dependency>
+            <groupId>org.jboss.shrinkwrap.resolver</groupId>
+            <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
+            <scope>test</scope>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.jboss.shrinkwrap.descriptors</groupId>
+            <artifactId>shrinkwrap-descriptors-impl-javaee</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+    <profiles>
+        <profile>
+            <id>wildfly-build-managed</id>
+            <build>
+                <testResources>
+                    <testResource>
+                        <directory>src/test/resources</directory>
+                    </testResource>
+                    <testResource>
+                        <directory>src/test/resources-wildfly</directory>
+                    </testResource>
+                </testResources>
+            </build>
+        </profile>
+        <profile>
+            <id>wildfly-managed</id>
+            <build>
+                <testResources>
+                    <testResource>
+                        <directory>src/test/resources</directory>
+                    </testResource>
+                    <testResource>
+                        <directory>src/test/resources-wildfly</directory>
+                    </testResource>
+                </testResources>
+            </build>
+        </profile>
+        <profile>
+            <id>wildfly-remote</id>
+            <build>
+                <testResources>
+                    <testResource>
+                        <directory>src/test/resources</directory>
+                    </testResource>
+                    <testResource>
+                        <directory>src/test/resources-wildfly</directory>
+                    </testResource>
+                </testResources>
+            </build>
+        </profile>
+        <profile>
+            <id>glassfish-build-managed-4</id>
+            <build>
+                <testResources>
+                    <testResource>
+                        <directory>src/test/resources</directory>
+                    </testResource>
+                    <testResource>
+                        <directory>src/test/resources-glassfish</directory>
+                    </testResource>
+                </testResources>
+            </build>
+        </profile>
+        <profile>
+            <id>wls-remote-12c</id>
+            <build>
+                <testResources>
+                    <testResource>
+                        <directory>src/test/resources</directory>
+                    </testResource>
+                    <testResource>
+                        <directory>src/test/resources-weblogic</directory>
+                    </testResource>
+                </testResources>
+            </build>
+        </profile>
+        <profile>
+            <id>wls-managed-12c</id>
+            <build>
+                <testResources>
+                    <testResource>
+                        <directory>src/test/resources</directory>
+                    </testResource>
+                    <testResource>
+                        <directory>src/test/resources-weblogic</directory>
+                    </testResource>
+                </testResources>
+            </build>
+        </profile>
+    </profiles>
+
+</project>

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/domain/EmbeddedSimple.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/domain/EmbeddedSimple.java b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/domain/EmbeddedSimple.java
new file mode 100644
index 0000000..516f245
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/domain/EmbeddedSimple.java
@@ -0,0 +1,39 @@
+/*
+ * 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.data.test.ee7.domain;
+
+import javax.persistence.Embeddable;
+
+@Embeddable
+public class EmbeddedSimple
+{
+
+    private String embedd;
+
+    public String getEmbedd()
+    {
+        return embedd;
+    }
+
+    public void setEmbedd(String embedd)
+    {
+        this.embedd = embedd;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/domain/Simple.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/domain/Simple.java b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/domain/Simple.java
new file mode 100755
index 0000000..44cf969
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/domain/Simple.java
@@ -0,0 +1,147 @@
+/*
+ * 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.data.test.ee7.domain;
+
+import java.util.Date;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+@Entity
+@NamedQueries({
+        @NamedQuery(name = Simple.BY_NAME_LIKE,
+                   query = "select e from Simple e where e.name like ?1"),
+        @NamedQuery(name = Simple.BY_NAME_ENABLED,
+                   query = "select s from Simple s where s.name = ?1 and s.enabled = ?2 order by s.id asc"),
+        @NamedQuery(name = Simple.BY_ID,
+                   query = "select s from Simple s where s.id = :id and s.enabled = :enabled")
+})
+@Table(name = "SIMPLE_TABLE")
+public class Simple extends SuperSimple
+{
+
+    public static final String BY_NAME_LIKE = "simple.byNameLike";
+    public static final String BY_NAME_ENABLED = "simple.byNameAndEnabled";
+    public static final String BY_ID = "simple.byId";
+
+    @Id
+    @GeneratedValue
+    private Long id;
+
+    private String name;
+    private String camelCase;
+    private Boolean enabled = Boolean.TRUE;
+    private Integer counter = Integer.valueOf(0);
+    @Temporal(TemporalType.TIMESTAMP)
+    private Date temporal;
+    private EmbeddedSimple embedded;
+
+    protected Simple()
+    {
+    }
+
+    public Simple(String name)
+    {
+        this.name = name;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+
+    public void setName(String name)
+    {
+        this.name = name;
+    }
+
+    public Boolean getEnabled()
+    {
+        return enabled;
+    }
+
+    public void setEnabled(Boolean enabled)
+    {
+        this.enabled = enabled;
+    }
+
+    public Integer getCounter()
+    {
+        return counter;
+    }
+
+    public void setCounter(Integer counter)
+    {
+        this.counter = counter;
+    }
+
+    public String getCamelCase()
+    {
+        return camelCase;
+    }
+
+    public void setCamelCase(String camelCase)
+    {
+        this.camelCase = camelCase;
+    }
+
+    public Date getTemporal()
+    {
+        return temporal;
+    }
+
+    public void setTemporal(Date temporal)
+    {
+        this.temporal = temporal;
+    }
+
+    public EmbeddedSimple getEmbedded()
+    {
+        return embedded;
+    }
+
+    public void setEmbedded(EmbeddedSimple embedded)
+    {
+        this.embedded = embedded;
+    }
+
+    @Override
+    public String toString()
+    {
+        return "Simple [id=" + id + ", name=" + name + ", camelCase=" + camelCase + ", enabled=" + enabled
+                + ", counter=" + counter + ", temporal=" + temporal + ", embedded=" + embedded + "]";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/domain/SuperSimple.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/domain/SuperSimple.java b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/domain/SuperSimple.java
new file mode 100644
index 0000000..10af87b
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/domain/SuperSimple.java
@@ -0,0 +1,38 @@
+/*
+ * 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.data.test.ee7.domain;
+
+import javax.persistence.MappedSuperclass;
+
+@MappedSuperclass
+public class SuperSimple
+{
+    private String superName;
+
+    public String getSuperName()
+    {
+        return superName;
+    }
+
+    public void setSuperName(String superName)
+    {
+        this.superName = superName;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/service/DeltaSpikeTransactionalRepositoryInterface.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/service/DeltaSpikeTransactionalRepositoryInterface.java b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/service/DeltaSpikeTransactionalRepositoryInterface.java
new file mode 100644
index 0000000..32f642a
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/service/DeltaSpikeTransactionalRepositoryInterface.java
@@ -0,0 +1,44 @@
+/*
+ * 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.data.test.ee7.service;
+
+import static javax.persistence.LockModeType.PESSIMISTIC_READ;
+
+import org.apache.deltaspike.data.api.EntityManagerDelegate;
+import org.apache.deltaspike.data.api.EntityRepository;
+import org.apache.deltaspike.data.api.Modifying;
+import org.apache.deltaspike.data.api.Query;
+import org.apache.deltaspike.data.api.Repository;
+import org.apache.deltaspike.data.test.ee7.domain.Simple;
+
+@Repository
+@org.apache.deltaspike.jpa.api.transaction.Transactional
+public interface DeltaSpikeTransactionalRepositoryInterface extends EntityRepository<Simple, Long>, EntityManagerDelegate<Simple>
+{
+
+    @Query(lock = PESSIMISTIC_READ)
+    Simple findByName(String name);
+
+    @Query(named = Simple.BY_NAME_LIKE)
+    Simple findByNameNoLock(String name);
+
+    @Modifying @Query("delete from Simple")
+    int deleteAll();
+
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/service/JtaTransactionalRepositoryInterface.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/service/JtaTransactionalRepositoryInterface.java b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/service/JtaTransactionalRepositoryInterface.java
new file mode 100755
index 0000000..e28a011
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/service/JtaTransactionalRepositoryInterface.java
@@ -0,0 +1,44 @@
+/*
+ * 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.data.test.ee7.service;
+
+import static javax.persistence.LockModeType.PESSIMISTIC_READ;
+
+import org.apache.deltaspike.data.api.EntityManagerDelegate;
+import org.apache.deltaspike.data.api.EntityRepository;
+import org.apache.deltaspike.data.api.Modifying;
+import org.apache.deltaspike.data.api.Query;
+import org.apache.deltaspike.data.api.Repository;
+import org.apache.deltaspike.data.test.ee7.domain.Simple;
+
+@Repository
+@javax.transaction.Transactional
+public interface JtaTransactionalRepositoryInterface extends EntityRepository<Simple, Long>, EntityManagerDelegate<Simple>
+{
+
+    @Query(lock = PESSIMISTIC_READ)
+    Simple findByName(String name);
+
+    @Query(named = Simple.BY_NAME_LIKE)
+    Simple findByNameNoLock(String name);
+
+    @Modifying @Query("delete from Simple")
+    int deleteAll();
+
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/tx/DeltaSpikeTransactionalTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/tx/DeltaSpikeTransactionalTest.java b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/tx/DeltaSpikeTransactionalTest.java
new file mode 100644
index 0000000..18b0817
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/tx/DeltaSpikeTransactionalTest.java
@@ -0,0 +1,138 @@
+/*
+ * 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.data.test.ee7.tx;
+
+import static org.apache.deltaspike.data.test.ee7.util.TestDeployments.initDeployment;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+import org.apache.deltaspike.data.test.ee7.domain.Simple;
+import org.apache.deltaspike.data.test.ee7.service.DeltaSpikeTransactionalRepositoryInterface;
+import org.apache.deltaspike.test.category.WebEE7ProfileCategory;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.junit.InSequence;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+@Category(WebEE7ProfileCategory.class)
+@RunWith(Arquillian.class)
+public class DeltaSpikeTransactionalTest
+{
+
+    public static String DS_PROPERTIES_WITH_ENV_AWARE_TX_STRATEGY
+            = "globalAlternatives.org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy="
+            + "org.apache.deltaspike.jpa.impl.transaction.EnvironmentAwareTransactionStrategy";
+    
+    private static final String NAME = "should_run_in_transaction";
+
+    @Deployment
+    public static Archive<?> deployment()
+    {
+        return initDeployment()
+                .addClasses(DeltaSpikeTransactionalRepositoryInterface.class)
+                .addClass(TransactionalQueryRunnerWrapper.class)
+                .addPackage(Simple.class.getPackage())
+                .addAsWebInfResource(new StringAsset(DS_PROPERTIES_WITH_ENV_AWARE_TX_STRATEGY),
+                    "classes/META-INF/apache-deltaspike.properties");
+    }
+
+    @Inject
+    private DeltaSpikeTransactionalRepositoryInterface repository;
+
+    @Produces
+    @PersistenceContext
+    private EntityManager entityManager;
+
+    @Inject
+    private TransactionalQueryRunnerWrapper wrapper;
+
+    @Test
+    @InSequence(1)
+    public void should_run_modifying_in_transaction() throws Exception
+    {
+        // when
+        repository.deleteAll();
+
+        // then
+        assertTrue(wrapper.isRunInTx());
+    }
+
+    @Test
+    @InSequence(2)
+    public void should_save_in_transaction() throws Exception
+    {
+        // given
+        Simple simple = new Simple(NAME);
+
+        // when
+        simple = repository.save(simple);
+
+        // then
+        assertNotNull(simple.getId());
+        assertTrue(wrapper.isRunInTx());
+    }
+
+    @Test
+    @InSequence(3)
+    public void should_find_with_lockmode_in_transaction() throws Exception
+    {
+        // when
+        Simple simple = repository.findByName(NAME);
+
+        // then
+        assertNotNull(simple);
+        assertTrue(wrapper.isRunInTx());
+    }
+
+    @Test
+    @InSequence(4)
+    public void should_find_no_lock_without_transaction() throws Exception
+    {
+        // when
+        Simple simple = repository.findByNameNoLock(NAME);
+
+        // then
+        assertNotNull(simple);
+        assertTrue(wrapper.isRunInNonTx());
+    }
+
+    @Test
+    @InSequence(10)
+    public void should_cleanup() throws Exception
+    {
+        repository.deleteAll();
+    }
+
+    @Before
+    public void init()
+    {
+        wrapper.reset();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/tx/JtaTransactionalTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/tx/JtaTransactionalTest.java b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/tx/JtaTransactionalTest.java
new file mode 100644
index 0000000..2dee1e6
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/tx/JtaTransactionalTest.java
@@ -0,0 +1,139 @@
+/*
+ * 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.data.test.ee7.tx;
+
+import static org.apache.deltaspike.data.test.ee7.util.TestDeployments.initDeployment;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+import org.apache.deltaspike.data.test.ee7.domain.Simple;
+import org.apache.deltaspike.data.test.ee7.service.JtaTransactionalRepositoryInterface;
+import org.apache.deltaspike.test.category.WebEE7ProfileCategory;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.junit.InSequence;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+@Category(WebEE7ProfileCategory.class)
+@RunWith(Arquillian.class)
+public class JtaTransactionalTest
+{
+
+    public static String DS_PROPERTIES_WITH_CMT_STRATEGY
+        = "globalAlternatives.org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy="
+        + "org.apache.deltaspike.jpa.impl.transaction.ContainerManagedTransactionStrategy";
+
+    private static final String NAME = "should_run_in_transaction";
+
+    @Deployment
+    public static Archive<?> deployment()
+    {
+        return initDeployment()
+                .addClasses(JtaTransactionalRepositoryInterface.class)
+                .addClass(TransactionalQueryRunnerWrapper.class)
+                .addPackage(Simple.class.getPackage())
+                .addAsWebInfResource(new StringAsset(DS_PROPERTIES_WITH_CMT_STRATEGY),
+                    "classes/META-INF/apache-deltaspike.properties");
+                
+    }
+
+    @Inject
+    private JtaTransactionalRepositoryInterface repository;
+
+    @Produces
+    @PersistenceContext
+    private EntityManager entityManager;
+
+    @Inject
+    private TransactionalQueryRunnerWrapper wrapper;
+
+    @Test
+    @InSequence(1)
+    public void should_run_modifying_in_transaction() throws Exception
+    {
+        // when
+        repository.deleteAll();
+
+        // then
+        assertTrue(wrapper.isRunInTx());
+    }
+
+    @Test
+    @InSequence(2)
+    public void should_save_in_transaction() throws Exception
+    {
+        // given
+        Simple simple = new Simple(NAME);
+
+        // when
+        simple = repository.save(simple);
+
+        // then
+        assertNotNull(simple.getId());
+        assertTrue(wrapper.isRunInTx());
+    }
+
+    @Test
+    @InSequence(3)
+    public void should_find_with_lockmode_in_transaction() throws Exception
+    {
+        // when
+        Simple simple = repository.findByName(NAME);
+
+        // then
+        assertNotNull(simple);
+        assertTrue(wrapper.isRunInTx());
+    }
+
+    @Test
+    @InSequence(4)
+    public void should_find_no_lock_without_transaction() throws Exception
+    {
+        // when
+        Simple simple = repository.findByNameNoLock(NAME);
+
+        // then
+        assertNotNull(simple);
+        assertTrue(wrapper.isRunInNonTx());
+    }
+
+    @Test
+    @InSequence(10)
+    public void should_cleanup() throws Exception
+    {
+        repository.deleteAll();
+    }
+
+    @Before
+    public void init()
+    {
+        wrapper.reset();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/tx/TransactionalQueryRunnerWrapper.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/tx/TransactionalQueryRunnerWrapper.java b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/tx/TransactionalQueryRunnerWrapper.java
new file mode 100644
index 0000000..328b660
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/tx/TransactionalQueryRunnerWrapper.java
@@ -0,0 +1,66 @@
+/*
+ * 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.data.test.ee7.tx;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Specializes;
+
+import org.apache.deltaspike.data.impl.builder.QueryBuilder;
+import org.apache.deltaspike.data.impl.handler.CdiQueryInvocationContext;
+import org.apache.deltaspike.data.impl.tx.TransactionalQueryRunner;
+
+@Specializes
+@ApplicationScoped
+public class TransactionalQueryRunnerWrapper extends TransactionalQueryRunner
+{
+
+    private boolean runInTx = false;
+    private boolean runInNonTx = false;
+
+    public void reset()
+    {
+        runInTx = false;
+        runInNonTx = false;
+    }
+
+    @Override
+    protected Object executeNonTransactional(QueryBuilder builder, CdiQueryInvocationContext context)
+    {
+        runInNonTx = true;
+        return super.executeNonTransactional(builder, context);
+    }
+
+    @Override
+    protected Object executeTransactional(QueryBuilder builder, CdiQueryInvocationContext context) throws Exception
+    {
+        runInTx = true;
+        return super.executeTransactional(builder, context);
+    }
+
+    public boolean isRunInTx()
+    {
+        return runInTx;
+    }
+
+    public boolean isRunInNonTx()
+    {
+        return runInNonTx;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/util/Logging.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/util/Logging.java b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/util/Logging.java
new file mode 100755
index 0000000..51dedad
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/util/Logging.java
@@ -0,0 +1,43 @@
+/*
+ * 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.data.test.ee7.util;
+
+import java.io.InputStream;
+import java.util.logging.LogManager;
+
+public class Logging
+{
+
+    private Logging()
+    {
+    }
+
+    public static void reconfigure()
+    {
+        try
+        {
+            InputStream loggingProperties = Logging.class.getClassLoader().getResourceAsStream("logging.properties");
+            LogManager.getLogManager().readConfiguration(loggingProperties);
+        }
+        catch (Exception e)
+        {
+            throw new RuntimeException("Failed to reconfigure Java Logging.", e);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/util/TestDeployments.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/util/TestDeployments.java b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/util/TestDeployments.java
new file mode 100755
index 0000000..2198a05
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/java/org/apache/deltaspike/data/test/ee7/util/TestDeployments.java
@@ -0,0 +1,62 @@
+/*
+ * 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.data.test.ee7.util;
+
+import java.io.File;
+
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.shrinkwrap.resolver.api.maven.Maven;
+
+public abstract class TestDeployments {
+
+    /**
+     * Create a basic deployment with dependencies, beans.xml and persistence descriptor.
+     *
+     * @return Basic web archive.
+     */
+    public static WebArchive initDeployment()
+    {
+        Logging.reconfigure();
+
+        WebArchive archive = ShrinkWrap
+                .create(WebArchive.class, "test.war")
+                .addAsLibraries(getDeltaSpikeDataWithDependencies())
+                .addAsWebInfResource("test-persistence.xml", "classes/META-INF/persistence.xml")
+                .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
+
+        return archive;
+    }
+
+    public static File[] getDeltaSpikeDataWithDependencies()
+    {
+        return Maven.resolver().loadPomFromFile("pom.xml").resolve(
+                "org.apache.deltaspike.core:deltaspike-core-api",
+                "org.apache.deltaspike.core:deltaspike-core-impl",
+                "org.apache.deltaspike.modules:deltaspike-partial-bean-module-api",
+                "org.apache.deltaspike.modules:deltaspike-partial-bean-module-impl",
+                "org.apache.deltaspike.modules:deltaspike-jpa-module-api",
+                "org.apache.deltaspike.modules:deltaspike-jpa-module-impl",
+                "org.apache.deltaspike.modules:deltaspike-data-module-api",
+                "org.apache.deltaspike.modules:deltaspike-data-module-impl")
+                .withTransitivity()
+                .asFile();
+    }
+}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/resources-glassfish/test-persistence.xml
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/resources-glassfish/test-persistence.xml b/deltaspike/modules/data/test-ee7/src/test/resources-glassfish/test-persistence.xml
new file mode 100644
index 0000000..f615141
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/resources-glassfish/test-persistence.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
+<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
+    <persistence-unit name="test"> 
+        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
+        <jta-data-source>jdbc/__default</jta-data-source>
+        <properties>
+            <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
+            <property name="eclipselink.logging.level" value="FINE"/>
+            <property name="eclipselink.logging.parameters" value="true" />
+        </properties>
+    </persistence-unit>
+</persistence>

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/resources-weblogic/test-persistence.xml
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/resources-weblogic/test-persistence.xml b/deltaspike/modules/data/test-ee7/src/test/resources-weblogic/test-persistence.xml
new file mode 100644
index 0000000..b809d70
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/resources-weblogic/test-persistence.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
+<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
+    <persistence-unit name="test"> 
+        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
+        <jta-data-source>TestDS</jta-data-source>
+        <properties>
+            <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
+            <property name="eclipselink.logging.level" value="FINE"/>
+            <property name="eclipselink.logging.parameters" value="true" />
+            <property name="eclipselink.deploy-on-startup" value="true" />
+        </properties>
+    </persistence-unit>
+</persistence>

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/resources-wildfly/test-persistence.xml
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/resources-wildfly/test-persistence.xml b/deltaspike/modules/data/test-ee7/src/test/resources-wildfly/test-persistence.xml
new file mode 100644
index 0000000..bd3f4a5
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/resources-wildfly/test-persistence.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
+<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
+    <persistence-unit name="test"> 
+        <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
+        <properties>
+            <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+        </properties>
+    </persistence-unit>
+</persistence>

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/63f15665/deltaspike/modules/data/test-ee7/src/test/resources/logging.properties
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/test-ee7/src/test/resources/logging.properties b/deltaspike/modules/data/test-ee7/src/test/resources/logging.properties
new file mode 100755
index 0000000..9a4f080
--- /dev/null
+++ b/deltaspike/modules/data/test-ee7/src/test/resources/logging.properties
@@ -0,0 +1,32 @@
+#####################################################################################
+# 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.
+#####################################################################################
+
+handlers=java.util.logging.ConsoleHandler
+.level=SEVERE
+
+java.util.logging.FileHandler.pattern=%h/java%u.log
+java.util.logging.FileHandler.limit=50000
+java.util.logging.FileHandler.count=1
+java.util.logging.FileHandler.formatter=java.util.logging.XMLFormatter
+
+java.util.logging.ConsoleHandler.level=ALL
+java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
+
+#org.glassfish.level=SEVERE
+#com.sun.enterprise.level=INFO