Я получаю это исключение на моем сервере tomcat (+ liferay)
java.util.concurrent.RejectedExecutionException
мой класс выглядит следующим образом:
public class SingleExecutor extends ThreadPoolExecutor {
public SingleExecutor(){
super(1, 1,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>());
}
@Override
public void execute(Runnable command) {
if(command instanceof AccessLogInsert){
AccessLogInsert ali = (AccessLogInsert)command;
ali.setConn(conn);
ali.setPs(ps);
}
super.execute(command);
}
}
Я получаю это исключение в строке super.execute(command);
Эта ошибка может возникнуть, когда очередь заполнена, но размер LinkedBlockingQueue
равен 2 ^ 31, и я уверен, что ожидания команды не так много.
В начале все стабильно, но после того, как я переделаю войну, она начинается. Этот класс не является частью войны, а в банке в tomcat/lib.
У вас есть идея, почему это произошло и как это исправить?