Bean注入Quartz Job - NullPointerException

时间:2015-04-02 06:07:56

标签: java java-ee cdi jboss-weld

我有一个问题,在Quartz计划作业中注入CDI Bean。这是工作级别的代码。

import javax.inject.Inject;

import lombok.extern.java.Log;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import com.example.controller.UserController;

@Log
public class SomethingNewScheduler implements Job {

    @Inject
    UserController userController;

    @Override
    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        userController.doSomething();
    }
}

我的UserController定义如下:

import java.io.Serializable;

import javax.ejb.EJB;
import javax.enterprise.context.ApplicationScoped;

import lombok.extern.java.Log;


import de.example.dao.UserDao;

@Log
@ApplicationScoped
public class UserController implements Serializable {
    private static final long serialVersionUID = 5922763136823308273L;
    @EJB
    private UserDao userDao;

    public void example(){
        userDao.getSomething();
    }
}

当我尝试访问SomethingNewScheduler中的userController时,我得到一个NullPointerException。在SomethingNewScheduler中实现Serializable并没有解决问题。

我正在为我的应用程序使用Wildfly 8.2.0。在RestService中访问UserController非常合适。

有没有人知道,为什么它在这里不起作用?

0 个答案:

没有答案