记录下出现该问题,因为类里面使用了static静态变量及static静态代码块,导致第一次失败后,接下来的请求都会出现该问题,目前不知道解决方法,try-catch了一下,但是发现该类没有初始化成功。必须重启服务才能解决问题。求大神回答下问题
问题已解决,使用static代码块是为了对类的成员变量进行初始化,只在加载类的时候加载一次,就是为了一次的操作。
`Private static final AtomicBoolean initialized = new AtomicBoolean(false);
public void init(){
..........
if(initialized.compareAndSet(false,true){
try{
.....
}catch(Exception.class){
initialized.compareAndSet(true,false);
}
}
............
}`
我在这里使用了AtomicBoolean来进行判断,只执行一次。不使用static静态代码块来初始化,使用方法来进行初始化,也可以解决执行一次的需求,同时也不会出现该问题。
自己简单记录下,有高手有其他方法可以及时指明