设为首页 加入收藏

TOP

关于Spring中多线程下注入失败的处理
2014-11-23 23:41:55 来源: 作者: 【 】 浏览:10
Tags:关于 Spring 线程 注入 失败 处理

问题背景:在进行CSNPortal编写时遇到这样一个需求,需要在web启动的同时,启动一个线程进行网络的监听,每隔一段时间向服务器发送一个获取模块信息的请求。


相关阅读


解决办法:在web.xml中注册一个监听事件,写一个监听类,进行网络的交互,获取数据后进行相应的处理,然后进行数据库操作。


遇到问题: 每次进行操作时都会报NullPointerException,检查一看,是我已经注入的对象为空。仔细想了想,也查阅了一些资料,发现Spring的容器并不能在不同的线程中使用,因为出于线程安全的考虑(因为如果两个线程需要同时操作一个实例就比较麻烦),而进行线程安全的处理是相对复杂的,所以Spring并没有做这方面的处理。


解决办法:将需要在两个线程都用到的实例进行全局化,也就是加static,这样就将实例提升到了进程的级别,两个线程都可以使用。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Matlab编译cuda的.cu文件 下一篇用Java分析C源代码中头文件使用频..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: