Details
-
Type:
Enhancement
-
Status: Resolved (View Workflow)
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: 3.1.0.Beta4
-
Fix Version/s: 3.1.0.Beta5
-
Labels:None
-
Git Pull Request:
Description
DefaultSeamTransaction should check java:jboss/UserTransaction if comp/UserTransaction is not found.
Gliffy Diagrams
Activity
- All
- Comments
- Work Log
- History
- Activity
- Links Hierarchy
Please note that in AS7, if jndi lookup cannot find an object, it will throw NamingException, not NameNotFoundException. The current DefaultSeamTransaction does this:
try
{ return (javax.transaction.UserTransaction) context.lookup("java:comp/UserTransaction"); }catch (NameNotFoundException nnfe) {
{ // Embedded JBoss has no java:comp/UserTransaction javax.transaction.UserTransaction ut = (javax.transaction.UserTransaction) context.lookup("UserTransaction"); ut.getStatus(); // for glassfish, which can return an unusable UT return ut; }try
catch (Exception e)
{ throw nnfe; }}
Instead, both NameNotFoundException and NamingException should be caught and then try java:jboss/UserTransaction.