java Timetask 访问service 抛空指针异常解决方案

错误原因: 创建自己的timetask 定时器继承了TimerTask之后,当执行run时还未进行service的注入。此时抛出空指针异常;以下为最终解决方案

// 自定义的TimerTask

public class WXFocusTask extends TimerTask {

public WXFocusTask(String openid){

this.openid=openid;

}

private String openid;

public void run() {

WxfocusMgrImp wxMgr = (WxfocusMgrImp)ApplicationContextUtil.getBean("wxfocusMgr");

List list = wxMgr.findWf(openid);

if (list != null && list.size() > 0) {

for (int i = 0; i < list.size(); i++) {

Wxfocus wxf = list.get(i);

wxf.setBindmark("2");

wxMgr.update(wxf);

}

}

System.out.println("user openid name is:" + openid + "timetask working");

}

public String getOpenid() {

return openid;

}

public void setOpenid(String openid) {

this.openid = openid;

}

}

//AppliactionContextUtil   取bean工具类

public class ApplicationContextUtil implements ApplicationContextAware {

private static ApplicationContext applicationContext;

public static ApplicationContext getApplicationContext() {

return applicationContext;

}

public void setApplicationContext(ApplicationContext applicationContext) {

ApplicationContextUtil.applicationContext = applicationContext;

}

public static Object getBean(String beanName) {

return applicationContext.getBean(beanName);

}

}

java 自己抛空指针异常_java Timetask 访问service 抛空指针异常解决方案相关推荐

  1. java 异常捕获抛出_JAVA异常处理捕获与抛出原理解析

    JAVA 异常 当代码运行出现错误导致程序终止运行或出现错误情况的状况,就是异常.异常不是指语法错误,即不属于编译错误,只有运行的程序才会有异常. 这个时候,JAVA 就提供了优秀的处理方法:异常处理 ...

  2. java限制符含义_JAVA的访问控制符private,default,protected,public

    封装是面向对象的三大特征之一(另外两个是继承和多态),它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问.封装实际上有两个 ...

  3. java 抛出异常的作用_Java 基础之异常抛出

    Java 基础之异常抛出 Java,基础,异常抛出 在 Java 里,除了对异常的捕获外,你还可以抛出异常,还可以创造异常.抛出异常的作用就是告诉你的调用者,程序出现了不正常的情况了,得不要期望的结果 ...

  4. java非阻塞锁_Java并发问题的非阻塞解决方案

    转自http://blog.csdn.net/u011277203/article/details/9223545 在并发环境中,对于共享资源通常会采用显式的锁机制(比如synchronized或Re ...

  5. java大文件导入_java导入大文件数据的解决方案

    2018年11月5号于南昌 中海蓝域小区 卧榻伴音弦 最近在做项目,一个20G大小的文件,要按行读入到数据库,妈呀,有什么好方法吗? 20G如果按照行读入的方式,需要20多个小时才能入库成功.主要性能 ...

  6. java 上传断点续传_JAVA大文件上传断点续传解决方案

    javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 Save 改进后的代码不需要for ...

  7. java 返回json乱码_java返回json数据中文乱码解决方案

    最近做报表功能时,从后台取的json数据出现中文乱吗,如下图: Paste_Image.png 然后进行了一些列的设置,比如 response.setContentType("text/ht ...

  8. java 异常抛出空指针异常_java.lang.NullPointerException 抛出空指针异常

    练习cookie做一个浏览商品记录显示,第一次会显示浏览过的商品,然后在浏览第二次就出现空指针异常 2016-6-16 16:51:48 org.apache.catalina.core.Standa ...

  9. java 方法权限_Java控制访问权限的方法

    这篇博客主要用来介绍Java中的访问权限. 引入访问控制权限 我们都知道,一个通用类库(如:JDK)开发出来的目的是让普通开发者重用以节省开发时间与精力,但是类库的设计不可能在刚开始就尽善尽美,普通开 ...

最新文章

  1. JAVA传递子类参数,在Java中,是否可以通过传递超类方法中使用的参数的子类来覆盖方法?...
  2. 阿里巴巴400集python教程_递归的练习课程 | Python从入门到精通:高阶篇之十二-阿里云开发者社区...
  3. Fire!——两个BFS
  4. SaltStack 第一板块入门介绍 [1]
  5. 【Flink】Flink Flink 1.14 新特性预览
  6. Java中堆和栈的概念与区别
  7. 一旦有辞职念头就干不长了吗_辞职后,社保该不该管,是否影响养老金?需不需本人去社保局注销...
  8. 数据库之Oracle
  9. Web2.0创业者面临艰难选择:出售还是发展
  10. 解决拼音汉字混合搜索,由于同音字导致搜出不相干的内容
  11. 【机器学习】如何使用随机网格搜索,以缩短网格搜索速度?
  12. Java后端技术概览
  13. pm入门-需求调研/竞品分析/应用工具简介
  14. linux 卸载nfs device is busy,NFS umount 提示 device is busy
  15. DotSoft.C3DTools.v7.0.0.3民用勘测地图和GIS工具集合
  16. table总结insertRow、deleteRow
  17. 记录Windows11系统出现的一次蓝屏收集错误信息重启的问题
  18. 2023-03-06
  19. CouchDB安装与使用
  20. Bitbucket备份恢复

热门文章

  1. python英语-50 行代码,实现中英文翻译
  2. python的运行窗口-在 Python 窗口中执行工具
  3. java和python的web自动化有什么区别-Python和Java哪个更适合做自动化测试?
  4. python从入门到精通视频-python从入门到精通视频(大全60集)
  5. python基础语法合集-Python基础语法(四)—列表、元组、字典、集合、字符串
  6. python爬虫实例-python爬虫实例大全
  7. opencv实现人脸检测、性别和年龄预测
  8. python unicode编码书写方式_python 中文编码 小结 ,json读写,str转换unicode,文字比较...
  9. python 递归结束条件_python递归(如果条件满足,为什么程序不退出一次?)
  10. LeetCode Maximal Square(最大子矩阵)