29.5. Annotations for use with Seam JavaBean components in a J2EE environment

Seam provides an annotation that lets you force a rollback of the JTA transaction for certain action listener outcomes.
@Transactional
@Transactional
Specifies that a JavaBean component should have similar transactional behavior to the default behavior of a session bean component. That is, method invocations should take place in a transaction, and if no transaction exists when the method is called, a transaction will be started just for that method. This annotation can be applied at either class or method level.

Note

This annotation should not be used on EJB3 components — use @TransactionAttribute instead.
@ApplicationException
@ApplicationException
Applied to an exception to denote that it is an application exception and should be reported to the client directly — that is, unwrapped. Operates identically to javax.ejb.ApplicationException when used in a pre-Java EE 5 environment.

Note

This annotation should not be used on EJB3 components — use @javax.ejb.ApplicationException instead.
  • rollback — by default false, if true this exception sets the transaction to rollback only.
  • end — by default false, if true, this exception ends the current long-running conversation.
@Interceptors
@Interceptors({DVDInterceptor, CDInterceptor})
Declares an ordered list of interceptors for a class or method. Operates identically to javax.interceptors.Interceptors when used in a pre-Java EE 5 environment. Note that this may only be used as a meta-annotation.

Note

This annotation should not be used on EJB3 components — use @javax.interceptor.Interceptors instead.
These annotations are used primarily for JavaBean Seam components. If you use EJB3 components, you should use the standard Java EE 5 annotations.