sto ottenendo questa eccezione sul mio server Tomcat (+ Liferay)Quale potrebbe essere la causa di RejectedExecutionException
java.util.concurrent.RejectedExecutionException
mia classe è così:
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);
}
}
ottengo questa eccezione sulla linea super.execute(command);
Questo errore si può verificare quando la coda è piena ma la dimensione LinkedBlockingQueue
è 2^31 e sono sicuro che non ci siano molti comandi in attesa.
All'inizio tutto è stabile, ma dopo aver ridistribuito una guerra inizia. Questa classe non fa parte della guerra ma in un vaso in tomcat/lib.
Avete idea del motivo per cui è successo e come risolverlo?
L'ultima parte della risposta è bella. –