Ich habe einen Controller, in dem ich zukünftige Schnittstelle verwenden und 5 Threads in Threadpool erstellen. Dieser Controller wird durch einen Ajax-Aufruf aufgerufen. Wenn ich diesen Controller das erste Mal anrufe, läuft es gut, aber wenn ich die Anfrage erneut mache, wird die Ausnahme unten angezeigt.So entfernen Sie java.util.concurrent.RejectedExecutionException während der Verwendung von Future Interface
java.util.concurrent.RejectedExecutionException: Task [email protected] rejected from [email protected][Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 5]
Ich poste Code, wie ich die Aufgaben nenne.
private static final ExecutorService threadpool = Executors.newFixedThreadPool(20);
FactorialCalculator task1 = new FactorialCalculator("A");
FactorialCalculator task2 = new FactorialCalculator("B");
FactorialCalculator task3= new FactorialCalculator("C");
FactorialCalculator task4 = new FactorialCalculator("D");
FactorialCalculator task5= new FactorialCalculator("E");
System.out.println("Submitting Task ...");
Future future1 = threadpool.submit(task1);
Future future2 = threadpool.submit(task2);
Future future3 = threadpool.submit(task3);
Future future4 = threadpool.submit(task4);
Future future5 = threadpool.submit(task5);
System.out.println("Task is submitted");
In erster Anforderung wird es läuft alle Aufgaben- A, B, C, D und E, aber wenn ich frag mich wieder druckt es Aufgaben einreichen, aber nicht gedruckt Aufgabe vorgelegt. Kann mir jemand helfen, was ich falsch mache?
Zufälligerweise den Executor herunterfahren? – Fildor