SSH框架多线程问题,求助! 在action里面开一个线程,然后在这个线程中创建线程池,往线程池里添加N个线程,这些线程是有链接数据库的操作的,在运行的时候,凡是spring注入的变量都是空,报空指针错误,求助怎么解决这个问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其他的注入都是正常的,只有线程里面的注入有问题,这个spring可以配置吗? @Override public String execute() throws Exception { saveOnSelfModels(); StartThread sendRun = new StartThread(); sendRun.setOnShelfMap(onShelfMap); sendRun.start(); return SUCCESS; } 这个是action里面启动线程的的一步:private ExecutorService executorService;public StartThread(){ initExecuteService(); }public void initExecuteService(){ executorService = Executors.newFixedThreadPool(Constants.THREAD_POOL_SIZE); }@Override public void run() { //first send List<SendEmergencyThread> sendList = new ArrayList<SendEmergencyThread>(); Set<OnShelf> key = onShelfMap.keySet(); for(OnShelf onShelf : key){ OnShelfBat onShelfBat = onShelfMap.get(onShelf); SendEmergencyThread newSendThread = new SendEmergencyThread(onShelf, onShelfBat, false); executorService.execute(newSendThread); sendList.add(newSendThread); } shutDown(); //thread wait try{ boolean loop = true; do{ loop = !executorService.awaitTermination(2, TimeUnit.SECONDS); }while (loop); } catch (Exception e) { e.printStackTrace(); } }这是初始化线程池的线程,然后SendEmergencyThread 是也是一个线程类,在SendEmergencyThread里面会有操作数据库的步骤,但是在这里spring就不能注入了,会报空指针错误。 期待中,我也遇上同样的问题,spring的taskExecutor启用线程池,可是操作数据库总是获取不到session frameset 中用一个frame刷新另一个frame web的图片存放方式问题 急求JAVA web项目的安装程序制作软件 读xml数据报错 TOMCAT的日志问题 写了个hibernate简单程序,结果报这种错。谁知道原因? 一个关于使用proxool连接池的问题 奇怪:同样代码,JAVA可以连接MYSQL,JSP不行 高手指路 : 10.1长假准备学习新知识, Spring和EJB如何选择? 在JBUILDER9中用什么工具写EJB? 【求助】oracle 有数据,但是查不出来 struts2.1.8部署jboss6.0时出错
@Override
public String execute() throws Exception {
saveOnSelfModels(); StartThread sendRun = new StartThread();
sendRun.setOnShelfMap(onShelfMap);
sendRun.start(); return SUCCESS;
}
这个是action里面启动线程的的一步:private ExecutorService executorService;
public StartThread(){
initExecuteService();
}
public void initExecuteService(){
executorService = Executors.newFixedThreadPool(Constants.THREAD_POOL_SIZE);
}
@Override
public void run() {
//first send
List<SendEmergencyThread> sendList = new ArrayList<SendEmergencyThread>();
Set<OnShelf> key = onShelfMap.keySet();
for(OnShelf onShelf : key){
OnShelfBat onShelfBat = onShelfMap.get(onShelf);
SendEmergencyThread newSendThread = new SendEmergencyThread(onShelf, onShelfBat, false);
executorService.execute(newSendThread);
sendList.add(newSendThread);
}
shutDown();
//thread wait
try{
boolean loop = true;
do{
loop = !executorService.awaitTermination(2, TimeUnit.SECONDS);
}while (loop);
} catch (Exception e) {
e.printStackTrace();
}
}
这是初始化线程池的线程,然后SendEmergencyThread 是也是一个线程类,在SendEmergencyThread里面会有操作数据库的步骤,但是在这里spring就不能注入了,会报空指针错误。