gpt4 book ai didi

java - 如何启用 MessageDrivenContext 注入(inject)?

转载 作者:行者123 更新时间:2023-12-01 00:37:53 25 4
gpt4 key购买 nike

我想在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com