]
Jan Martiska commented on WFLY-4386:
------------------------------------
You need to include an annotation index in the module's jar
(
) AND explicitly specify
in the application's MANIFEST.MF that it should import the annotations, like this
{noformat}
Dependencies: your.module.name annotations, other.module.name
{noformat}
Otherwise the application won't see them.
EJB annotations ignored if classes are packaged as JBOSS modules
----------------------------------------------------------------
Key: WFLY-4386
URL:
https://issues.jboss.org/browse/WFLY-4386
Project: WildFly
Issue Type: Bug
Components: Class Loading, EJB
Affects Versions: JBoss AS7 7.1.1.Final
Reporter: Tihomir Meščić
Assignee: David Lloyd
I have an EJB that writes something to the DB and I have a custom checked exception that
is marked as @javax.ejb.ApplicationException(rollback=true), which means that when the
exception is thrown, transaction should be rollbacked.
{code:title=Test.java.java|borderStyle=solid}
@ApplicationException(rollback=true)
public class MyException extends Exception {
{code}
This exception is packaged in a separate JAR.
When this JAR is included in the lib/ folder of the EAR with my EJB, everything works as
expected (when the EJB throws MyException, the transaction is rollbacked).
However, when this JAR is deployed as a JBOSS module (so, in jboss_folder/modules/...
folder), and the EAR declares a dependency on this module (MANIFEST.MF -> Dependencies:
....) , then the transaction is NOT rollbacked. So the EJB container ignores the
annotation.
One workaround (that I don't really like) is to specify that this is an application
exception in the jboss-ejb3.xml (then, the transaction will be rollbacked).