[jboss-svn-commits] JBL Code SVN: r37104 - in labs/jbosstm/trunk/ArjunaJTA: examples and 17 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jun 22 12:32:35 EDT 2011
Author: tomjenkinson
Date: 2011-06-22 12:32:35 -0400 (Wed, 22 Jun 2011)
New Revision: 37104
Added:
labs/jbosstm/trunk/ArjunaJTA/examples/
labs/jbosstm/trunk/ArjunaJTA/examples/pom.xml
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/pom.xml
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/Customer.java
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/SimpleEjb.java
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/SimpleEjbLocal.java
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/resources/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/resources/META-INF/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/resources/META-INF/persistence.xml
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/test/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/test/java/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/test/java/SimpleEJBTest.java
labs/jbosstm/trunk/ArjunaJTA/examples/simple_maven_example/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_maven_example/pom.xml
labs/jbosstm/trunk/ArjunaJTA/examples/simple_maven_example/src/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_maven_example/src/test/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_maven_example/src/test/java/
labs/jbosstm/trunk/ArjunaJTA/examples/simple_maven_example/src/test/java/TransactionManagerTest.java
Log:
JBTM-854 fairly cool example showing arquillian
Added: labs/jbosstm/trunk/ArjunaJTA/examples/pom.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/examples/pom.xml (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTA/examples/pom.xml 2011-06-22 16:32:35 UTC (rev 37104)
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<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">
+ <!-- JBoss, Home of Professional Open Source Copyright 2009, Red Hat Middleware
+ LLC, and individual contributors as indicated by the @author tags. See the
+ copyright.txt in the distribution for a full listing of individual contributors.
+ This copyrighted material is made available to anyone wishing to use, modify,
+ copy, or redistribute it subject to the terms and conditions of the GNU Lesser
+ General Public License, v. 2.1. This program is distributed in the hope that
+ it will be useful, but WITHOUT A WARRANTY; without even the implied warranty
+ of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
+ General Public License for more details. You should have received a copy
+ of the GNU Lesser General Public License, v.2.1 along with this distribution;
+ if not, write to the Free Software Foundation, Inc., 51 Franklin Street,
+ Fifth Floor, Boston, MA 02110-1301, USA. (C) 2009, @author JBoss Inc. (jonathan.halliday at redhat.com) -->
+ <parent>
+ <groupId>org.jboss.narayana</groupId>
+ <artifactId>jbossjta-all</artifactId>
+ <version>5.0.0.M1-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jbossjta-examples</artifactId>
+ <packaging>pom</packaging>
+ <name>All examples of JBoss JTA</name>
+ <description>All examples of JBoss JTA</description>
+ <modules>
+ <module>simple_maven_example</module>
+ <module>simple_integration_example</module>
+ </modules>
+</project>
Added: labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/pom.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/pom.xml (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/pom.xml 2011-06-22 16:32:35 UTC (rev 37104)
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+ <groupId>org.jboss.narayana.examples</groupId>
+ <artifactId>simple_integration_example</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <name>simple_integration_example</name>
+ <description>simple_integration_example</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack</id>
+ <phase>generate-test-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-distribution</artifactId>
+ <version>6.0.0.Final</version>
+ <type>zip</type>
+ <overWrite>false</overWrite>
+ <outputDirectory>${project.build.directory}</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.6</version>
+ <configuration>
+ <additionalClasspathElements>
+ <additionalClasspathElement>${project.build.directory}/jboss-6.0.0.Final/client/jbossws-native-client.jar</additionalClasspathElement>
+ <additionalClasspathElement>${project.build.directory}/jboss-6.0.0.Final/server/default/deploy/jbossweb.sar</additionalClasspathElement>
+ </additionalClasspathElements>
+ <redirectTestOutputToFile>false</redirectTestOutputToFile>
+ <trimStackTrace>false</trimStackTrace>
+ <printSummary>true</printSummary>
+ <argLine>-Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djava.util.logging.manager=org.jboss.logmanager.LogManager -Djava.endorsed.dirs=${project.build.directory}/jboss-6.0.0.Final/lib/endorsed -Djboss.home=${project.build.directory}/jboss-6.0.0.Final -Djboss.boot.server.log.dir=${project.build.directory}/jboss-6.0.0.Final -Dorg.jboss.reflect.spi.TypeInfoFactory=org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactory</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-depchain</artifactId>
+ <version>6.0.0.Final</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.arquillian.container</groupId>
+ <artifactId>arquillian-jbossas-embedded-6</artifactId>
+ <version>1.0.0.Alpha5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.arquillian</groupId>
+ <artifactId>arquillian-junit</artifactId>
+ <version>1.0.0.Alpha5</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.shrinkwrap</groupId>
+ <artifactId>shrinkwrap-impl-base</artifactId>
+ <version>1.0.0-alpha-12</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.shrinkwrap</groupId>
+ <artifactId>shrinkwrap-api</artifactId>
+ <version>1.0.0-alpha-12</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.shrinkwrap</groupId>
+ <artifactId>shrinkwrap-spi</artifactId>
+ <version>1.0.0-alpha-12</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-depchain</artifactId>
+ <version>6.0.0.Final</version>
+ <type>pom</type>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+</project>
Added: labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/Customer.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/Customer.java (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/Customer.java 2011-06-22 16:32:35 UTC (rev 37104)
@@ -0,0 +1,32 @@
+package org.jboss.narayana.examples.ejb;
+
+import java.io.Serializable;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+
+ at Entity
+public class Customer implements Serializable {
+ @Id
+ @GeneratedValue
+ private int id;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ private String name;
+}
Added: labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/SimpleEjb.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/SimpleEjb.java (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/SimpleEjb.java 2011-06-22 16:32:35 UTC (rev 37104)
@@ -0,0 +1,57 @@
+package org.jboss.narayana.examples.ejb;
+
+import java.util.List;
+
+import javax.ejb.Stateless;
+import javax.ejb.TransactionAttribute;
+import javax.ejb.TransactionAttributeType;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.transaction.UserTransaction;
+
+ at Stateless
+public class SimpleEjb implements SimpleEjbLocal {
+ @PersistenceContext(name = "my_persistence_ctx")
+ EntityManager em;
+
+ @TransactionAttribute(TransactionAttributeType.REQUIRED)
+ public String getStatus() throws NamingException {
+ UserTransaction tx = (UserTransaction) new InitialContext()
+ .lookup("java:comp/UserTransaction");
+ return "tom transactionally hacked this up: " + tx.toString();
+ }
+
+ @TransactionAttribute(TransactionAttributeType.REQUIRED)
+ public String getStatus2() throws NamingException {
+ UserTransaction tx = (UserTransaction) new InitialContext()
+ .lookup("java:comp/UserTransaction");
+ return "tom transactionally hacked this off: " + tx.toString();
+ }
+
+ @TransactionAttribute(TransactionAttributeType.REQUIRED)
+ public String createCustomerAndListIds() throws NamingException {
+ UserTransaction tx = (UserTransaction) new InitialContext()
+ .lookup("java:comp/UserTransaction");
+ Customer c1 = new Customer();
+ c1.setName("XYZ");
+ em.persist(c1);
+
+ final List<Customer> list = em.createQuery("select c from Customer c")
+ .getResultList();
+ StringBuffer toReturn = new StringBuffer("customers (in tx "
+ + tx.toString() + ": ");
+ boolean added = false;
+ for (Customer customer : list) {
+ int id = customer.getId();
+ toReturn.append(id);
+ toReturn.append(", ");
+ added = true;
+ }
+ if (added) {
+ toReturn.delete(toReturn.length() - 3, toReturn.length() - 1);
+ }
+ return toReturn.toString();
+ }
+}
Added: labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/SimpleEjbLocal.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/SimpleEjbLocal.java (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/java/org/jboss/narayana/examples/ejb/SimpleEjbLocal.java 2011-06-22 16:32:35 UTC (rev 37104)
@@ -0,0 +1,11 @@
+package org.jboss.narayana.examples.ejb;
+
+import javax.naming.NamingException;
+
+public interface SimpleEjbLocal {
+ public String getStatus() throws NamingException;
+
+ public String getStatus2() throws NamingException;
+
+ public String createCustomerAndListIds() throws NamingException;
+}
Added: labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/resources/META-INF/persistence.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/resources/META-INF/persistence.xml (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/main/resources/META-INF/persistence.xml 2011-06-22 16:32:35 UTC (rev 37104)
@@ -0,0 +1,18 @@
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ version="1.0">
+ <persistence-unit name="my_persistence_ctx">
+ <jta-data-source>java:/DefaultDS</jta-data-source>
+ <properties>
+
+ <property name="hibernate.show_sql" value="false" />
+ <property name="hibernate.format_sql" value="false" />
+
+ <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
+ <property name="hibernate.connection.url" value="jdbc:hsqldb:mem:mem:aname" />
+ <property name="hibernate.connection.username" value="sa" />
+
+ <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
+ <property name="hibernate.hbm2ddl.auto" value="create" />
+ </properties>
+ </persistence-unit>
+</persistence>
\ No newline at end of file
Added: labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/test/java/SimpleEJBTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/test/java/SimpleEJBTest.java (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTA/examples/simple_integration_example/src/test/java/SimpleEJBTest.java 2011-06-22 16:32:35 UTC (rev 37104)
@@ -0,0 +1,82 @@
+import java.io.PrintStream;
+
+import javax.naming.InitialContext;
+import javax.transaction.UserTransaction;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.narayana.examples.ejb.Customer;
+import org.jboss.narayana.examples.ejb.SimpleEjb;
+import org.jboss.narayana.examples.ejb.SimpleEjbLocal;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+ at RunWith(Arquillian.class)
+public class SimpleEJBTest {
+ @Deployment
+ public static JavaArchive createDeployment() {
+ return ShrinkWrap
+ .create(JavaArchive.class, "test.jar")
+ .addClasses(SimpleEjbLocal.class, SimpleEjb.class)
+ .addClasses(Customer.class)
+ .addAsManifestResource("META-INF/persistence.xml",
+ "persistence.xml");
+ }
+
+ // @EJB
+ // private SimpleEjbLocal simpleEjbLocal;
+
+ @Test
+ public void testServlet() {
+ PrintStream out = System.out;
+ out.println("<html>");
+ out.println("<head><title>Rocking out with Openshift</title></head>");
+ out.println("<body>");
+ out.println("<h1>Openshifting to 11</h1>");
+
+ try {
+ UserTransaction tx = (UserTransaction) new InitialContext()
+ .lookup("java:comp/UserTransaction");
+ tx.begin();
+ InitialContext ic = new InitialContext();
+ SimpleEjbLocal sel = (SimpleEjbLocal) ic
+ .lookup("java:module/SimpleEjb");
+ out.println("<p>" + sel.getStatus() + "</p>");
+ out.println("<p>" + sel.getStatus2() + "</p>");
+ out.println("<p>" + sel.createCustomerAndListIds() + "</p>");
+ tx.commit();
+ } catch (Throwable e) {
+ throw new RuntimeException(e);
+ }
+
+ out.println("</body>");
+ }
+
+ @Test
+ public void testServlet2() {
+ PrintStream out = System.out;
+ out.println("<html>");
+ out.println("<head><title>Rocking out with Openshift</title></head>");
+ out.println("<body>");
+ out.println("<h1>Openshifting to 11</h1>");
+
+ try {
+ UserTransaction tx = (UserTransaction) new InitialContext()
+ .lookup("java:comp/UserTransaction");
+ tx.begin();
+ InitialContext ic = new InitialContext();
+ SimpleEjbLocal sel = (SimpleEjbLocal) ic
+ .lookup("java:module/SimpleEjb");
+ out.println("<p>" + sel.getStatus() + "</p>");
+ out.println("<p>" + sel.getStatus2() + "</p>");
+ out.println("<p>" + sel.createCustomerAndListIds() + "</p>");
+ tx.commit();
+ } catch (Throwable e) {
+ throw new RuntimeException(e);
+ }
+
+ out.println("</body>");
+ }
+}
Added: labs/jbosstm/trunk/ArjunaJTA/examples/simple_maven_example/pom.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/examples/simple_maven_example/pom.xml (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTA/examples/simple_maven_example/pom.xml 2011-06-22 16:32:35 UTC (rev 37104)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ JBoss, Home of Professional Open Source Copyright 2008, Red Hat
+ Middleware LLC, and others contributors as indicated by the @authors
+ tag. All rights reserved. See the copyright.txt in the distribution
+ for a full listing of individual contributors. This copyrighted
+ material is made available to anyone wishing to use, modify, copy, or
+ redistribute it subject to the terms and conditions of the GNU Lesser
+ General Public License, v. 2.1. This program is distributed in the
+ hope that it will be useful, but WITHOUT A WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public
+ License, v.2.1 along with this distribution; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+ -->
+<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>
+ <groupId>org.jboss.narayana.examples</groupId>
+ <artifactId>simple_maven_example</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+ <name>simple_maven_example</name>
+ <description>simple_maven_example</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <workingDirectory>${build.directory}/surefire-working-directory</workingDirectory>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.jbossts</groupId>
+ <artifactId>jbossjta</artifactId>
+ <version>4.15.1.Final</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.2</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Added: labs/jbosstm/trunk/ArjunaJTA/examples/simple_maven_example/src/test/java/TransactionManagerTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/examples/simple_maven_example/src/test/java/TransactionManagerTest.java (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTA/examples/simple_maven_example/src/test/java/TransactionManagerTest.java 2011-06-22 16:32:35 UTC (rev 37104)
@@ -0,0 +1,22 @@
+import javax.transaction.TransactionManager;
+
+import org.junit.Test;
+
+import com.arjuna.ats.jta.common.jtaPropertyManager;
+
+public class TransactionManagerTest {
+
+
+ @Test
+ public void testSettingUpTransactionManager() throws Exception {
+ TransactionManager tm = jtaPropertyManager.getJTAEnvironmentBean().getTransactionManager();
+
+ tm.begin();
+
+ System.err.println( tm.getTransaction() );
+
+ tm.rollback();
+ System.err.println( tm.getTransaction() );
+ }
+
+}
More information about the jboss-svn-commits
mailing list