Это длинный выстрел, но этот код:
def sendData(res: Seq[Int]) =
{
...
futureCall() map { result =>
logger.info(
s"Successfully Executed"
)
}
sendData()
}
НИКОГДА не заканчивается. executor.shutdown()
предотвращает планирование новых задач в пуле потоков, но не убивает текущие задачи, чтобы обеспечить постепенное завершение работы. Поскольку этот код выполняется, а задача никогда не заканчивается, исполнитель ожидает его завершения до 1010 * и ждет и ждет ...
Вы можете попробовать использовать shutdownNow()
и / или сделать это эффективно бесконечно l oop до конца, если вы обработали все данные, добавив некоторую проверку перед рекурсивным вызовом sendData()
.