I have following scenario where my MDB class extends an abstract class which implements the MessageListener interface.
public abstract class MDBBase implements MessageListener {
public void onMessage(Message message) {
....
processJob(some-params)
}
public abstract void processJob (some-params);
}
public class MyMDB extends MDBBase {
public abstract void processJob (some-params) {
}
}@TransactionManagement(TransactionManagementType.BEAN)
@SecurityDomain("myapp")
@RunAs ("Internal")