作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 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
。我需要什么神奇的调味料来注入(inject)上下文?
最佳答案
您应该使用@Resource 注释MessageDrivenBeanContext:
@Resource private MessageDrivenContext context;
然后上下文将由容器注入(inject)。您不需要 setMessageDrivenContext
方法。
关于java - 如何启用 MessageDrivenContext 注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4709235/
当我们使用MessageDrivenContext.setRollbackOnly()时,Container将回滚事务竞争,因此消息将被放回JMS队列。 该队列是否需要显式放置权限或其事务级别,以便容
我想在 JavaEE MDB 中明确设置事务以回滚: private MessageDrivenContext context; @MessageDriven(mappedName = "jms/Re
我是一名优秀的程序员,十分优秀!