J'ai ci-dessous le code, la méthode doTransaction est invoquée après 20 secondes, quelqu'un peut-il me dire pourquoi cela prend autant de temps pour invoquer la méthode doTransaction. Cela n'arrive pas toujours que cela se produise très rarement. Toute aide à ce sujet est appréciée. Merci,Executerservice soumet la tâche invoque le code après le temps
ExecutorService service = Executors.newSingleThreadExecutor();
TransactionTask task = new TransactionTask(object);
Future<Result> future = service.submit(task);
Result r = future.get(20000, TimeUnit.MILLISECONDS);
class TransactionTask implements Callable<Result> {
private Request req = null;
public TransactionTask(Request trx){
this.req = trx;
}
@Override
public Result call() throws Exception {
Result o = doTransaction(req);
return o;
}
}
À quelle fréquence soumettez-vous la tâche? Seulement une fois ou plusieurs fois? –
Merci pour votre réponse rapide. La tâche est soumise une seule fois et une tâche à la fois, le code est sur le serveur Tomcat, le code ci-dessus sera invoqué une fois par demande. T – anil
Tomcat gère chaque requête simultanément, créez-vous ExecutorService pour chaque requête. Si non, alors voilà, plusieurs tâches sont créées et soumises par Tomcat dans le même service. –