[jboss-cvs] JBossAS SVN: r111739 - in projects/ejb3/tags: jboss-ejb3-transactions-1.0.4 and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Jul 10 13:03:28 EDT 2011


Author: jaikiran
Date: 2011-07-10 13:03:28 -0400 (Sun, 10 Jul 2011)
New Revision: 111739

Added:
   projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/
   projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/pom.xml
Removed:
   projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/pom.xml
Modified:
   projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/.classpath
   projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/.settings/org.eclipse.jdt.core.prefs
   projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/.settings/org.maven.ide.eclipse.prefs
   projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java
   projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/src/main/java/org/jboss/ejb3/tx/StatefulBMTInterceptor.java
   projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/src/main/java/org/jboss/ejb3/tx/StatelessBMTInterceptor.java
Log:
[maven-release-plugin]  copy for tag jboss-ejb3-transactions-1.0.4

Modified: projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/.classpath
===================================================================
--- projects/ejb3/trunk/transactions/.classpath	2011-07-08 20:12:46 UTC (rev 111737)
+++ projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/.classpath	2011-07-10 17:03:28 UTC (rev 111739)
@@ -1,8 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-  <classpathentry kind="src" path="src/main/java"/>
-  <classpathentry kind="src" path="src/test/java" output="eclipse-target/tests-classes"/>
-  <classpathentry kind="src" path="src/test/resources" output="eclipse-target/tests-classes" excluding="**/*.java"/>
-  <classpathentry kind="output" path="eclipse-target/classes"/>
-  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
-</classpath>
\ No newline at end of file
+	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
+	<classpathentry kind="src" output="target/tests-classes" path="src/test/java"/>
+	<classpathentry excluding="**" kind="src" output="target/tests-classes" path="src/test/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Modified: projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/ejb3/trunk/transactions/.settings/org.eclipse.jdt.core.prefs	2011-07-08 20:12:46 UTC (rev 111737)
+++ projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/.settings/org.eclipse.jdt.core.prefs	2011-07-10 17:03:28 UTC (rev 111739)
@@ -1,5 +1,6 @@
-#Wed Nov 12 20:11:41 GMT-05:00 2008
+#Thu Jun 17 19:52:45 IST 2010
+eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
 org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5

Modified: projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/.settings/org.maven.ide.eclipse.prefs
===================================================================
--- projects/ejb3/trunk/transactions/.settings/org.maven.ide.eclipse.prefs	2011-07-08 20:12:46 UTC (rev 111737)
+++ projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/.settings/org.maven.ide.eclipse.prefs	2011-07-10 17:03:28 UTC (rev 111739)
@@ -1,8 +1,9 @@
-#Tue Nov 25 12:07:18 CET 2008
-activeProfiles=eclipse
+#Thu Jun 17 19:52:39 IST 2010
+activeProfiles=
 eclipse.preferences.version=1
-fullBuildGoals=
+fullBuildGoals=process-test-resources
 includeModules=false
 resolveWorkspaceProjects=true
-resourceFilterGoals=
+resourceFilterGoals=process-resources resources\:testResources
+skipCompilerPlugin=true
 version=1

Deleted: projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/pom.xml
===================================================================
--- projects/ejb3/trunk/transactions/pom.xml	2011-07-08 20:12:46 UTC (rev 111737)
+++ projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/pom.xml	2011-07-10 17:03:28 UTC (rev 111739)
@@ -1,214 +0,0 @@
-<!-- 
-  vi:ts=2:sw=2:expandtab 
--->
-<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">
-  <parent>
-    <groupId>org.jboss.ejb3</groupId>
-    <artifactId>jboss-ejb3-build</artifactId>
-    <version>1.0.13</version>
-    <relativePath>../build/pom.xml</relativePath>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jboss-ejb3-transactions</artifactId>
-  <version>1.0.4-SNAPSHOT</version>
-  <packaging>jar</packaging>
-  <name>JBoss EJB 3.0 Transactions</name>
-  <url>http://www.jboss.org</url>
-  <description>
-    The JBoss EJB 3 Transactions component implements all functionality
-    specified in Chapter 13 (Support for Transactions) of the EJB 3.0
-    specification.
-  </description>
-  
-  <properties>
-    <version.org.jboss.deployers>2.2.0.M2</version.org.jboss.deployers>
-    <version.org.jboss.aop>2.1.1.GA</version.org.jboss.aop>
-    <version.org.jboss.microcontainer>2.2.0.M1</version.org.jboss.microcontainer>
-  </properties>
-  
-  
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>org.jboss</groupId>
-        <artifactId>jboss-vfs</artifactId>
-        <version>2.2.0.M2</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.microcontainer</groupId>
-        <artifactId>jboss-kernel</artifactId>
-        <version>${version.org.jboss.microcontainer}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss</groupId>
-        <artifactId>jboss-common-core</artifactId>
-        <version>2.2.11.GA</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss</groupId>
-        <artifactId>jboss-reflect</artifactId>
-        <version>2.0.2.GA</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss</groupId>
-        <artifactId>jbossxb</artifactId>
-        <version>2.0.1.CR2</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.aop</groupId>
-        <artifactId>jboss-aop</artifactId>
-        <version>${version.org.jboss.aop}</version>
-      </dependency>
-      
-    </dependencies>
-  </dependencyManagement>
-    
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.aspects</groupId>
-      <artifactId>jboss-transaction-aspects</artifactId>
-      <version>1.0.0.GA</version>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-transaction-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-vfs</artifactId>
-      <version>${version.org.jboss.deployers}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-vfs-spi</artifactId>
-      <version>${version.org.jboss.deployers}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.aop</groupId>
-      <artifactId>jboss-aop-deployers</artifactId>
-      <version>${version.org.jboss.aop}</version>
-      <scope>test</scope>
-    
-      <exclusions>
-        <exclusion>
-          <groupId>jboss</groupId>
-          <artifactId>jboss-test</artifactId>
-      </exclusion>
-    
-      <exclusion>
-        <groupId>org.jboss.jbossas</groupId>
-        <artifactId>jboss-as-system-jmx</artifactId>
-        </exclusion>
-      </exclusions>
-    
-    </dependency>
-    <dependency>
-	  <groupId>org.jboss.microcontainer</groupId>
-          <artifactId>jboss-aop-mc-int</artifactId>
-	  <version>${version.org.jboss.microcontainer}</version>
-
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-cache</artifactId>
-      <version>1.0.0</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-ext-api-impl</artifactId>
-      <version>1.0.0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-interceptors</artifactId>
-      <version>${version.org.jboss.ejb3.jboss-ejb3-interceptors}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.integration</groupId>
-      <artifactId>jboss-transaction-spi</artifactId>
-      <version>5.0.3.GA</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.javaee</groupId>
-      <artifactId>jboss-ejb-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-log4j</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.naming</groupId>
-      <artifactId>jnpserver</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.metadata</groupId>
-      <artifactId>jboss-metadata</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>jboss.jbossts</groupId>
-      <artifactId>jbossjta</artifactId>
-      <version>4.3.0.GA</version>
-      <scope>test</scope>
-    </dependency>
-    
-    <!-- For Eclipse Maven 2 Plugin -->
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-reflect</artifactId>
-      <scope>test</scope>
-    </dependency>
-    
-    <!-- For Arjuna / JBoss Transaction -->
-    <dependency>
-      <groupId>apache-logging</groupId>
-      <artifactId>commons-logging</artifactId>
-      <version>1.1.0.jboss</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>oswego-concurrent</groupId>
-      <artifactId>concurrent</artifactId>
-      <version>1.3.4-jboss-update1</version>
-    </dependency>
-    <dependency>
-      <groupId>jboss.jbossts</groupId>
-      <artifactId>jbossts-common</artifactId>
-      <version>4.3.0.GA</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <profiles>
-    <profile>
-      <id>default</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <properties>
-        <version.org.jboss.ejb3.jboss-ejb3-interceptors>1.0.0</version.org.jboss.ejb3.jboss-ejb3-interceptors>
-      </properties>
-    </profile>
-    <profile>
-      <id>CI</id>
-      <properties>
-        <version.org.jboss.ejb3.jboss-ejb3-interceptors>[0,)</version.org.jboss.ejb3.jboss-ejb3-interceptors>
-      </properties>
-    </profile>
-  </profiles>
-</project>

Copied: projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/pom.xml (from rev 111738, projects/ejb3/trunk/transactions/pom.xml)
===================================================================
--- projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/pom.xml	                        (rev 0)
+++ projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/pom.xml	2011-07-10 17:03:28 UTC (rev 111739)
@@ -0,0 +1,220 @@
+<!-- 
+  vi:ts=2:sw=2:expandtab 
+-->
+<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">
+  <parent>
+    <groupId>org.jboss.ejb3</groupId>
+    <artifactId>jboss-ejb3-build</artifactId>
+    <version>1.0.13</version>
+    <relativePath>../build/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-ejb3-transactions</artifactId>
+  <version>1.0.4</version>
+  <packaging>jar</packaging>
+  <name>JBoss EJB 3.0 Transactions</name>
+  <url>http://www.jboss.org</url>
+  <description>
+    The JBoss EJB 3 Transactions component implements all functionality
+    specified in Chapter 13 (Support for Transactions) of the EJB 3.0
+    specification.
+  </description>
+  
+  <properties>
+    <version.org.jboss.deployers>2.2.0.M2</version.org.jboss.deployers>
+    <version.org.jboss.aop>2.1.1.GA</version.org.jboss.aop>
+    <version.org.jboss.microcontainer>2.2.0.M1</version.org.jboss.microcontainer>
+  </properties>
+  
+  
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-vfs</artifactId>
+        <version>2.2.0.M2</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.microcontainer</groupId>
+        <artifactId>jboss-kernel</artifactId>
+        <version>${version.org.jboss.microcontainer}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-common-core</artifactId>
+        <version>2.2.11.GA</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-reflect</artifactId>
+        <version>2.0.2.GA</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jbossxb</artifactId>
+        <version>2.0.1.CR2</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.aop</groupId>
+        <artifactId>jboss-aop</artifactId>
+        <version>${version.org.jboss.aop}</version>
+      </dependency>
+      
+    </dependencies>
+  </dependencyManagement>
+    
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.aspects</groupId>
+      <artifactId>jboss-transaction-aspects</artifactId>
+      <version>1.0.0.GA</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-transaction-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-vfs</artifactId>
+      <version>${version.org.jboss.deployers}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-vfs-spi</artifactId>
+      <version>${version.org.jboss.deployers}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.aop</groupId>
+      <artifactId>jboss-aop-deployers</artifactId>
+      <version>${version.org.jboss.aop}</version>
+      <scope>test</scope>
+    
+      <exclusions>
+        <exclusion>
+          <groupId>jboss</groupId>
+          <artifactId>jboss-test</artifactId>
+      </exclusion>
+    
+      <exclusion>
+        <groupId>org.jboss.jbossas</groupId>
+        <artifactId>jboss-as-system-jmx</artifactId>
+        </exclusion>
+      </exclusions>
+    
+    </dependency>
+    <dependency>
+	  <groupId>org.jboss.microcontainer</groupId>
+          <artifactId>jboss-aop-mc-int</artifactId>
+	  <version>${version.org.jboss.microcontainer}</version>
+
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-cache</artifactId>
+      <version>1.0.0</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-ext-api-impl</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-interceptors</artifactId>
+      <version>${version.org.jboss.ejb3.jboss-ejb3-interceptors}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.integration</groupId>
+      <artifactId>jboss-transaction-spi</artifactId>
+      <version>5.0.3.GA</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.javaee</groupId>
+      <artifactId>jboss-ejb-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-log4j</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.naming</groupId>
+      <artifactId>jnpserver</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.metadata</groupId>
+      <artifactId>jboss-metadata</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>jboss.jbossts</groupId>
+      <artifactId>jbossjta</artifactId>
+      <version>4.3.0.GA</version>
+      <scope>test</scope>
+    </dependency>
+    
+    <!-- For Eclipse Maven 2 Plugin -->
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-reflect</artifactId>
+      <scope>test</scope>
+    </dependency>
+    
+    <!-- For Arjuna / JBoss Transaction -->
+    <dependency>
+      <groupId>apache-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.1.0.jboss</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>oswego-concurrent</groupId>
+      <artifactId>concurrent</artifactId>
+      <version>1.3.4-jboss-update1</version>
+    </dependency>
+    <dependency>
+      <groupId>jboss.jbossts</groupId>
+      <artifactId>jbossts-common</artifactId>
+      <version>4.3.0.GA</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>default</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <properties>
+        <version.org.jboss.ejb3.jboss-ejb3-interceptors>1.0.0</version.org.jboss.ejb3.jboss-ejb3-interceptors>
+      </properties>
+    </profile>
+    <profile>
+      <id>CI</id>
+      <properties>
+        <version.org.jboss.ejb3.jboss-ejb3-interceptors>[0,)</version.org.jboss.ejb3.jboss-ejb3-interceptors>
+      </properties>
+    </profile>
+  </profiles>
+
+  <scm>
+    <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/ejb3/tags/jboss-ejb3-transactions-1.0.4</connection>
+    <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/ejb3/tags/jboss-ejb3-transactions-1.0.4</developerConnection>
+    <url>http://anonsvn.jboss.org/repos/jbossas/projects/ejb3/tags/jboss-ejb3-transactions-1.0.4</url>
+  </scm>
+</project>

Modified: projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java	2011-07-08 20:12:46 UTC (rev 111737)
+++ projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/src/main/java/org/jboss/ejb3/tx/BMTInterceptor.java	2011-07-10 17:03:28 UTC (rev 111739)
@@ -21,6 +21,8 @@
  */
 package org.jboss.ejb3.tx;
 
+import javax.ejb.ApplicationException;
+import javax.ejb.EJBException;
 import javax.transaction.Transaction;
 import javax.transaction.TransactionManager;
 
@@ -31,13 +33,13 @@
  * Comment
  *
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- *  @author <a href="mailto:osh at sparre.dk">Ole Husgaard</a>
+ * @author <a href="mailto:osh at sparre.dk">Ole Husgaard</a>
  * @version $Revision:72368 $
  */
 public abstract class BMTInterceptor extends AbstractInterceptor
 {
    private static final Logger log = Logger.getLogger(BMTInterceptor.class);
-   
+
    protected final TransactionManager tm;
 
    protected BMTInterceptor(TransactionManager tm)
@@ -46,7 +48,7 @@
    }
 
    protected abstract Object handleInvocation(Invocation invocation) throws Throwable;
-   
+
    public Object invoke(Invocation invocation) throws Throwable
    {
       Transaction oldTx = tm.suspend();
@@ -56,7 +58,40 @@
       }
       finally
       {
-         if (oldTx != null) tm.resume(oldTx);
+         if (oldTx != null)
+         {
+            tm.resume(oldTx);
+         }
       }
    }
+
+   /**
+    * Checks if the passed exception is an application exception. If yes, then throws back the
+    * exception as-is. Else, wraps the exception in a {@link EJBException} and throws the EJBException
+    *
+    * @param ex The exception to handle
+    * @param invocation The invocation
+    * @throws Exception Either the passed exception or an EJBException
+    */
+   protected void handleException(Invocation invocation, Exception ex) throws Exception
+   {
+      if (ex == null)
+      {
+         return;
+      }
+      ApplicationException ae = (ApplicationException) invocation.getAdvisor().resolveAnnotation(ApplicationException.class);
+      // it's an application exception, so just throw it back as-is
+      if (ae != null)
+      {
+         throw ex;
+      }
+      if (ex instanceof EJBException)
+      {
+         throw (EJBException) ex;
+      }
+      else
+      {
+         throw new EJBException(ex);
+      }
+   }
 }

Modified: projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/src/main/java/org/jboss/ejb3/tx/StatefulBMTInterceptor.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/StatefulBMTInterceptor.java	2011-07-08 20:12:46 UTC (rev 111737)
+++ projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/src/main/java/org/jboss/ejb3/tx/StatefulBMTInterceptor.java	2011-07-10 17:03:28 UTC (rev 111739)
@@ -21,11 +21,6 @@
  */
 package org.jboss.ejb3.tx;
 
-import javax.transaction.Status;
-import javax.transaction.SystemException;
-import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
-
 import org.jboss.aop.joinpoint.Invocation;
 import org.jboss.aop.util.PayloadKey;
 import org.jboss.ejb3.interceptors.container.ContainerMethodInvocation;
@@ -33,6 +28,11 @@
 import org.jboss.logging.Logger;
 import org.jboss.tm.TxUtils;
 
+import javax.transaction.Status;
+import javax.transaction.SystemException;
+import javax.transaction.Transaction;
+import javax.transaction.TransactionManager;
+
 /**
  * EJB 3 13.6.1:
  * In the case of a stateful session bean, it is possible that the business method that started a transaction
@@ -41,14 +41,14 @@
  * commits or rolls back the transaction. When the client invokes the next business method, the container
  * must invoke the business method (and any applicable interceptor methods for the bean) in this transac-
  * tion context.
- * 
+ *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
  * @version $Revision: $
  */
 public class StatefulBMTInterceptor extends BMTInterceptor
 {
    private static final Logger log = Logger.getLogger(StatefulBMTInterceptor.class);
-   
+
    /**
     * @param tm
     */
@@ -72,10 +72,10 @@
 
       switch (status)
       {
-         case Status.STATUS_COMMITTING :
-         case Status.STATUS_MARKED_ROLLBACK :
-         case Status.STATUS_PREPARING :
-         case Status.STATUS_ROLLING_BACK :
+         case Status.STATUS_COMMITTING:
+         case Status.STATUS_MARKED_ROLLBACK:
+         case Status.STATUS_PREPARING:
+         case Status.STATUS_ROLLING_BACK:
             try
             {
                tm.rollback();
@@ -85,7 +85,7 @@
                log.error("Failed to rollback", ex);
             }
             String msg = "BMT stateful bean '" + ejbName
-                         + "' did not complete user transaction properly status=" + TxUtils.getStatusAsString(status);
+                    + "' did not complete user transaction properly status=" + TxUtils.getStatusAsString(status);
             log.error(msg);
       }
    }
@@ -93,12 +93,12 @@
    protected Object handleInvocation(Invocation invocation) throws Throwable
    {
       assert tm.getTransaction() == null : "can't handle BMT transaction, there is a transaction active";
-      
+
       StatefulBeanContext<?> ctx = (StatefulBeanContext<?>) ContainerMethodInvocation.getContainerMethodInvocation(invocation).getBeanContext();
       String ejbName = invocation.getAdvisor().getName();
-      
+
       // Is the instance already associated with a transaction?
-      Transaction tx = (Transaction)ctx.getMetaData().getMetaData("TX", "TX");
+      Transaction tx = (Transaction) ctx.getMetaData().getMetaData("TX", "TX");
       if (tx != null)
       {
          ctx.getMetaData().addMetaData("TX", "TX", null, PayloadKey.TRANSIENT);
@@ -109,6 +109,10 @@
       {
          return invocation.invokeNext();
       }
+      catch (Exception e)
+      {
+         this.handleException(invocation, e);
+      }
       finally
       {
          checkBadStateful(ejbName);
@@ -127,5 +131,6 @@
             ctx.getMetaData().addMetaData("TX", "TX", null, PayloadKey.TRANSIENT);
          }
       }
+      throw new Exception("Unreachable!!!");
    }
 }

Modified: projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/src/main/java/org/jboss/ejb3/tx/StatelessBMTInterceptor.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/StatelessBMTInterceptor.java	2011-07-08 20:12:46 UTC (rev 111737)
+++ projects/ejb3/tags/jboss-ejb3-transactions-1.0.4/src/main/java/org/jboss/ejb3/tx/StatelessBMTInterceptor.java	2011-07-10 17:03:28 UTC (rev 111739)
@@ -21,14 +21,14 @@
  */
 package org.jboss.ejb3.tx;
 
+import org.jboss.aop.joinpoint.Invocation;
+import org.jboss.logging.Logger;
+
 import javax.ejb.EJBException;
 import javax.transaction.Status;
 import javax.transaction.SystemException;
 import javax.transaction.TransactionManager;
 
-import org.jboss.aop.joinpoint.Invocation;
-import org.jboss.logging.Logger;
-
 /**
  * EJB 3 13.6.1:
  * If a stateless session bean instance starts a transaction in a business method or interceptor method, it
@@ -49,7 +49,7 @@
       super(tm);
    }
 
-   private void checkStatelessDone(String ejbName, Exception ex)
+   private void checkStatelessDone(Invocation invocation, String ejbName, Exception ex) throws Exception
    {
       int status = Status.STATUS_NO_TRANSACTION;
    
@@ -83,16 +83,10 @@
                          + " should complete transactions before" + " returning (ejb1.1 spec, 11.6.1)";
             log.error(msg);
    
-            // the instance interceptor will discard the instance
-            if (ex != null)
-            {
-               if (ex instanceof EJBException)
-                  throw (EJBException)ex;
-               else
-                  throw new EJBException(msg, ex);
-            }
-            else throw new EJBException(msg);
+            throw new EJBException(msg);
       }
+      // the instance interceptor will discard the instance
+      this.handleException(invocation, ex);
    }
 
    public Object handleInvocation(Invocation invocation) throws Throwable
@@ -108,14 +102,14 @@
       catch (Exception ex)
       {
          exceptionThrown = true;
-         checkStatelessDone(ejbName, ex);
+         checkStatelessDone(invocation, ejbName, ex);
          throw ex;
       }
       finally
       {
          try
          {
-            if (!exceptionThrown) checkStatelessDone(ejbName, null);
+            if (!exceptionThrown) checkStatelessDone(invocation, ejbName, null);
          }
          finally
          {



More information about the jboss-cvs-commits mailing list