public void contextInitialized(ServletContextEvent event) {
// TODO Auto-generated method stub
Runnable runnable = new Runnable() {
public void run() {
addHttpNowData();
}
};
ScheduledExecutorService service = Executors
.newSingleThreadScheduledExecutor();
// 第二个参数为首次执行的延时时间,第三个参数为定时执行的间隔时间
service.scheduleAtFixedRate(runnable, 1, 2, TimeUnit.SECONDS);
}
public void addHttpNowData() {
try {
System.out.println(this.getClass().getClassLoader().getResource("/").getPath());
// 从接口获取数据
this.eventNotificationTimedTaskService.addHttpNewNoticeData();
} catch (Exception e) {
e.printStackTrace();
}
}
java.lang.NullPointerException
at cn.secure.web.front.EventNotificationTimedTaskController.addHttpNowData(EventNotificationTimedTaskController.java:53)
at cn.secure.web.front.EventNotificationTimedTaskController$1.run(EventNotificationTimedTaskController.java:37)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
可以说一下 具体哪报空指针吗
System.out.println(this.getClass().getClassLoader().getResource("/").getPath());
应该是这一行报错,this.getClass().getClassLoader(),可能会导致和当前线程所运行的类加载器不一致,出现空指针
用自己编写的类的类名去获取ClassLoader
代码不完整,如果是你贴的这段代码引起的空指针错误,最有可能是就是
this.eventNotificationTimedTaskService.addHttpNewNoticeData();
这一句,你看下eventNotificationTimedTaskService是不是没有初始化好,如果为null肯定会引起空指针错误。
EventNotificationTimedTaskController.java:53,,,这个类是自定义的类吗,如果是得快看看53行呗