Details
-
Bug
-
Resolution: Done
-
Major
-
EJB 3.0 RC9 - FD
-
None
-
None
-
Workaround Exists
-
Description
I have an MDB which is defined like that
import javax.jms.MessageListener;
@MessageDriven(name = "EJBExecutorMDB", activationConfig =
)
public class EJBExecutorMDB implements MessageListener {
....
It works perfect during in JBOSS, but then I run it in JUNIT it fails with exception: "unable to determine messagingType interface for MDB"
Only one difference that in JUNIT test I instrument built classes using cobertura - in that case my class implements two interfaces: MessageListener and cobertura interface.
After looking in source code I found in org.jboss.ejb3.mdb.MDB:
if (messagingType.getName().equals(Object.class.getName()))
Why such a dummy check is done ??? Why class must implement one and only one interface ??
could you check superclasses and allow multiple interfaces implementations on the class.
Also on the link to forum people has similar problem: they don't implement interface, but extend superclass. And they got the same exception.