我开发java web时候需要创建一个新的线程,在调用已经在spring配置文件注入的接口时候报空指针异常,代码:
这是我写的新加线程的代码:packagecom.travelsky.gg.warning;importjava.util.List;importjava.util.Map...
这是我写的新加线程的代码:
package com.travelsky.gg.warning;
import java.util.List;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.travelsky.gg.config.Server;
import com.travelsky.gg.ggexec.GGMainManager;
import com.travelsky.gg.ggframework.BaseAction;
import com.travelsky.gg.user.GGUser;
public class Mylistener extends BaseAction implements Runnable{
ActionContext ctx = ActionContext.getContext();
Map session = ctx.getSession();
GGMainManager ggMainManager;
public void run() {
List ggList = null;
List serverList = null;
List infoInfo=null;
GGUser user = (GGUser)session.get("gguser");
try{
//ggList = configManager.getGgConfigList(user);
serverList = configManager.getServList(user);
Thread.sleep(10000);
for(int i=0;i<serverList.size();i++){
Server server=(Server)serverList.get(i);
infoInfo=ggMainManager.infoAll(server);
System.out.println(infoInfo);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
执行到 serverList = configManager.getServList(user);时候报错
java.lang.NullPointerException
at com.travelsky.gg.warning.Mylistener.run(Mylistener.java:24)
at java.lang.Thread.run(Unknown Source)
ajax调用代码:
Mylistener mylistener=new Mylistener();
Thread mylisteners= new Thread(mylistener);
mylisteners.start();
return ; 展开
package com.travelsky.gg.warning;
import java.util.List;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.travelsky.gg.config.Server;
import com.travelsky.gg.ggexec.GGMainManager;
import com.travelsky.gg.ggframework.BaseAction;
import com.travelsky.gg.user.GGUser;
public class Mylistener extends BaseAction implements Runnable{
ActionContext ctx = ActionContext.getContext();
Map session = ctx.getSession();
GGMainManager ggMainManager;
public void run() {
List ggList = null;
List serverList = null;
List infoInfo=null;
GGUser user = (GGUser)session.get("gguser");
try{
//ggList = configManager.getGgConfigList(user);
serverList = configManager.getServList(user);
Thread.sleep(10000);
for(int i=0;i<serverList.size();i++){
Server server=(Server)serverList.get(i);
infoInfo=ggMainManager.infoAll(server);
System.out.println(infoInfo);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
执行到 serverList = configManager.getServList(user);时候报错
java.lang.NullPointerException
at com.travelsky.gg.warning.Mylistener.run(Mylistener.java:24)
at java.lang.Thread.run(Unknown Source)
ajax调用代码:
Mylistener mylistener=new Mylistener();
Thread mylisteners= new Thread(mylistener);
mylisteners.start();
return ; 展开
3个回答
展开全部
ggMainManager没写set方法
所以spring没有注入进去对象就为空
所以spring没有注入进去对象就为空
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多线程,放到另一个class中。
追问
什么意思啊?我是用ajax创建的线程,起初我没有调用接口时候执行都是很成功的,但是调用接口后就在接口那句话出错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询