У меня под кодом, метод doTransaction вызывается через 20 секунд, может ли кто-нибудь сказать мне, почему его так долго нужно вызвать метод doTransaction. Не всегда случается, что это происходит очень редко. Любая помощь по этому поводу ценится. Спасибо,Executerservice отправляет задание после кода
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;
}
}
Как часто вы отправляете задание? Только один или несколько раз? –
Спасибо за быстрый ответ. Задача отправляется только один раз и одна задача за раз, код находится на сервере Tomcat, над кодом будет вызываться один раз за запрос. T – anil
Tomcat обрабатывает каждый запрос одновременно, создаете ли вы ExecutorService для каждого запроса. Если нет, то это то, что несколько задач создаются и передаются tomcat в одной службе. –