学习线程,做了个小的测试,大概需求是,启动TomCat的时候自动启动这个线程,自动运行保存功能
public class AutoSave extends Thread{
public void runThread(){
new AutoSave().start();
}
//保存
public void save(){
BackUpThreadSave bua = new BackUpThreadSave();
bua.addBackup();//保存的方法
}
public synchronized void run() {
while(true) {
try {
sleep(8000);
save();
} catch( Exception e) {
}
}
}
}addBackup()方法的类继承 HibernateDaoSupport
可以执行到addBackup()方法内部
但是一到getSession().save(entity);就执行不下去了,也不报错我加上打印
System.out.println("--1--");
getSession().save(bu);
System.out.println("--2--");也一直只输出 “--1--”
请问这种要怎么解决啊,谢谢啦
public class AutoSave extends Thread{
public void runThread(){
new AutoSave().start();
}
//保存
public void save(){
BackUpThreadSave bua = new BackUpThreadSave();
bua.addBackup();//保存的方法
}
public synchronized void run() {
while(true) {
try {
sleep(8000);
save();
} catch( Exception e) {
}
}
}
}addBackup()方法的类继承 HibernateDaoSupport
可以执行到addBackup()方法内部
但是一到getSession().save(entity);就执行不下去了,也不报错我加上打印
System.out.println("--1--");
getSession().save(bu);
System.out.println("--2--");也一直只输出 “--1--”
请问这种要怎么解决啊,谢谢啦
因为我要是 通过action 调用这个方法addBackup(),就可以执行getSession().save(entity),可以保存数据
因为我在页面上有个 按钮 “保存”都可以手动保存(和线程里面调用的是同一个保存方法)
都可以getSession().save(entity);
并打印
"--1--"
"--2--"
--in1--
java.lang.NullPointerException
at org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession(HibernateDaoSupport.java:142)