Я бы хотел, чтобы explicity установил откат транзакции в JavaEE MDB:
private MessageDrivenContext context;
@MessageDriven(mappedName = "jms/ReaderQueue", activationConfig = {
@ActivationConfigProperty(
propertyName = "acknowledgeMode",
propertyValue = "Auto-acknowledge"),
@ActivationConfigProperty(
propertyName = "destinationType",
propertyValue = "javax.jms.Queue")
})
public class MessageReaderBean implements MessageListener {
public void onMessage(Message message) {
ctx.setRollbackOnly(); // <-- see here, my good fellow!
}
public void setMessageDrivenContext(MessageDrivenContext ctx) throws EJBException {
this.context = ctx;
}
}
Однако контейнер не вызывает для меня setMessageDrivenContext
, и я получаю NullPointerException
. Какой волшебный соус мне нужен, чтобы добавить контекст?