Java(多)线程中注入Spring的Bean
来源:互联网 发布:淘宝淘金币兑换区 编辑:程序博客网 时间:2024/05/21 06:45
问题说明 :
今天在web应用中用到了Java多线程的技术来并发处理一些业务,但在执行时一直会报NullPointerException的错误,问题定位了一下发现是线程中的Spring bean没有被注入,bean对象的值为null。
原因分析 :
web容器在启动应用时,并没有提前将线程中的bean注入(在线程启动前,web容易也是无法感知的)
解决方案 :
线程中获取bean
import org.springframework.context.ApplicationContext;public class ServiceFactory { public static ApplicationContext context=null; public static Object getInstance(String serviceName){ if (null==context) { context=ApplicationContextLoaderListener.getApplicationContext(); } return context.getBean(serviceName); }}
@Override public void run() { // 记录推荐记录 GfRegistrationService gfRegistrationService = (GfRegistrationService) ServiceFactory.getInstance("gfRegistrationService"); List<GfRegistration> insertRegistrationlist = this.getGfRegistrationlist(); if (insertRegistrationlist.size() > 0) { int[] resultArry = gfRegistrationService.batchInsert(insertRegistrationlist); if (resultArry.length > 0) { logger.info("信息批量记录", "批量记录信息,length= " + resultArry.length); } else { logger.info("信息批量记录", "推荐商户信息为空"); } } }
0 0
- Java(多)线程中注入Spring的Bean
- Java(多)线程中注入Spring的Bean
- Spring--多种Bean的注入(中)
- Spring中bean的注入
- 详解Java的Spring框架中bean的注入集合
- Servlet中注入Spring的bean
- Spring的bean中注入内部类
- Spring中bean的依赖注入解析
- 学习Spring中Bean的注入
- Spring中bean的注入方式
- Spring中Bean的简单属性注入
- Spring中Bean的复杂属性注入
- Spring的bean注入
- 【Spring】 Bean的注入
- spring的注入参数(bean对象中又有bean属性),beans.xml配置
- Spring--多种Bean的注入(上)
- Spring--多种Bean的注入(下)
- spring Filter中注入bean
- 51nod-1119 机器人走方格 V2
- (008)Intent在Activity中的穿梭
- SSM搭建-Spring之bean的属性值XML注入方式(4)
- Linux后台进程管理利器:supervisor
- 使用okhttp时没有返回json数据
- Java(多)线程中注入Spring的Bean
- 机器学习之什么是机器学习
- Very Good!!! - React 入门实例教程
- 第九周项目4-广义表算法库及应用
- 【策略回归】 对均线法则的验证
- String类
- scikit-learn学习笔记(2)---Dataset loading utilities
- 银行页面
- SparkStreaming之基本数据源输入