【问题标题】:@Resource-annotation in a MessageDrivenBeans abstract parent class?MessageDrivenBeans 抽象父类中的@Resource-annotation?
【发布时间】:2011-11-16 18:34:56
【问题描述】:

没关系

@MessageDriven(...)
public class EventMDB implements MessageListener
{    
    @Resource
    private MessageDrivenContext context;

    //onMessage(Message)
    ...

但如果我将资源注释放在抽象父类中,它是否也有效?

@MessageDriven(...)
public class EventMDB extend ParentMDB
{
    //onEvent(Event)
    ...

public abstract class ParentMDB implements MessageListener
{
    @Resource
    protected MessageDrivenContext context;

    //onMessage(Message) retrieves object of ObjectMessage and invokes onEvent(Event)

    //abstract void onEvent(Event)
    ...

【问题讨论】:

    标签: glassfish jms message-driven-bean


    【解决方案1】:

    我不明白为什么它不起作用 (Java EE API):

    即使此注解未标记为 Inherited,部署工具仍需要检查任何组件类的所有超类,以发现此注解在所有超类中的所有用途。所有此类注释实例都指定应用程序组件所需的资源。注意这个注解可能出现在超类的私有字段和方法上;在这些情况下,容器也需要执行注入。

    您是否有一个不起作用的用例,或者您只是在考虑“假设”?

    【讨论】:

    • 不,我没有遇到任何无效的案例。我们当地的聪明人认为它可能无法正常工作,因为我的 Test-MDB 由于某种原因没有部署(虽然与这个问题无关)所以我想我最好在这里问一下。
    猜你喜欢
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    相关资源
    最近更新 更多