使用Quartz with spring web app时出现问题 - 无法在控制台上看到错误

时间:2013-12-17 07:11:41

标签: spring spring-mvc log4j quartz-scheduler

我在Spring MVC应用程序中使用quartz。

我有一个任务类,所有功能和逻辑都写在那里。我有一个单独的石英配置文件。我只是在URL和控制器函数中初始化quartz conf文件。工作运行正常。我面临的问题是:

在我的任务类中,某些代码正在运行并且从某个时间点开始。我没有让它运行,我无法看到任何错误或异常。这是我的任务类的代码。我能够使用quartz来及时运行getValues()函数。问题是它打印的值是hi而没有别的。它不会进入,如果没有,也没有显示任何错误或异常。

public class TeamUpdateImpl implements TeamUpdate {

    // @Autowired
    ReadXmlDao readXmlDao;

    public void setReadXmlDao(ReadXmlDao readXmlDao) {
        this.readXmlDao = readXmlDao;
    }

    public void getValues() {

        System.out.print("Hi");

        if (readXmlDao.getName().equals("Hema")) {
            System.out.print("if cond");
        } else {
            System.out.print("else cond");
        }
    }
}

请建议一个解决方案,一些日志记录或其他东西,以便我至少可以在我的控制台上修复它们。

感谢。

1 个答案:

答案 0 :(得分:0)

我猜readXmlDao或readXmlDao.getName()为空。

尝试打印。

System.out.print("readXmlDao = "+readXmlDao);
System.out.print("readXmlDao.getName() = "+readXmlDao.getName());

如果readXmlDao为null,您将获得打印readXmlDao.getName()的npe。 还

尝试在setReadXmlDao方法上设置@Autowired

@Autowired
public void setReadXmlDao(ReadXmlDao readXmlDao) {
    this.readXmlDao = readXmlDao;
}