File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes EJB Certification (SCBCD/OCPJBCD) and the fly likes How to determine transaction attribute of methods of sub-class in case of method overriding. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » EJB Certification (SCBCD/OCPJBCD)
Bookmark "How to determine transaction attribute of methods of sub-class in case of method overriding." Watch "How to determine transaction attribute of methods of sub-class in case of method overriding." New topic
Author

How to determine transaction attribute of methods of sub-class in case of method overriding.

Mohit G Gupta
Ranch Hand

Joined: May 18, 2010
Posts: 634

EJB 3.1 Specification

13.3.7.1 Specification of Transaction Attributes with Metadata Annotations


If the bean class has superclasses, the following additional rules apply.

1. A transaction attribute specified on a superclass S applies to the business methods defined by S. If a class-level transaction attribute is not specified on S, it is equivalent to specification of TransactionAttribute(REQUIRED)on S.
2. A transaction attribute may be specified on a business method M defined by class S to override for method M the transaction attribute value explicitly or implicitly specified on the class S.
3. If a method M of class S overrides a business method defined by a super-class of S, the transaction attribute of M is determined by the above rules as applied to class S

The example provided in the above section is :



Solution:Assuming aMethod, bMethod, cMethod are methods of interface A, their transaction attributes are
REQUIRED, SUPPORTS, and REQUIRES_NEW respectively.

Question:How is transaction attribute of aMethod is "REQUIRED" ?
As per my understanding,since super class has SUPPORTS transaction attribute ,then all its methods will have the same Transaction Attribute
and aMethod of class Abean that overrides the aMethod of class SomeClass has no transaction attribute specified ,then aMethod transaction attribute should be SUPPORTS .


OCPJP 6.0 93%
OCPJWCD 5.0 98%
Frits Walraven
Creator of Enthuware JWS+ V6
Bartender

Joined: Apr 07, 2010
Posts: 1529
    
  22

Question:How is transaction attribute of aMethod is "REQUIRED" ?

As aMethod() is overriden it wil get the default transaction attribute of REQUIRED. Only inherited methods (like bMethod()) get the SUPPORT transaction atribute.

Regards,
Frits
Mohit G Gupta
Ranch Hand

Joined: May 18, 2010
Posts: 634

Hi Frits,

Thanks for the reply.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: How to determine transaction attribute of methods of sub-class in case of method overriding.
 
Similar Threads
Java Beat Question - Q on transaction attributes
question about Transaction atrribute
Does JBoss behave so much different from specs?
EJB 3.0: Doubt in Transaction
Mock Question about Transactions