在事件触发的方法中使用null @Resource

时间:2016-02-04 13:49:04

标签: java ejb

我有单例bean,我在其中使用@Resource注释注入资源。当我尝试在调用on event的方法中检索该资源时,资源为null。什么事情以及为什么不注入资源?可以找到什么解决方案?我无法拒绝使用观察员。

@Singleton
@javax.ejb.Startup
@Stateless
public class ScheduleManager implements IScheduleManager
{   

    @Resource
    private TimerService timerService;

    @Override
    @Observer(value=EventConstants.SCHEDULE_CHANGE_EVENT)
    public void reSchedule(PtSchedulesDTO schedule)
    {
         Collection<Timer> timers = timerService.getTimers();
         //...
    }

    //...
}

1 个答案:

答案 0 :(得分:0)

我不确定您使用的是什么框架或技术,但注释(@Resource)可以使用,通常必须声明要查找该注释的内容。它可以在xml文件中声明,然后由框架获取。此外,您还可以检查是否有一个TimerService类,您需要为框架注释或创建一个bean,以便能够将其注入。