Java поток зависает, когда я добавляю код, чтобы получить разницу во времени - PullRequest
0 голосов
/ 17 февраля 2020

Как часть моего кода, я получаю разницу во времени между двумя полями объекта и помещаю ее в карту. Несколько раз в секунду создаются новые полезные нагрузки, и этот код запускается для создания новых карт.

if("deliver".equalsIgnoreCase(type) && "COURIER".equalsIgnoreCase(c))
            attributes.put("pickupToDropTime", ChronoUnit.MINUTES.between(payload.getPickingAt().toInstant(),payload.getDeliveredAt().toInstant()));

Проблема в том, что код зависает после нескольких минут работы. Когда я заменяю часть значения константным значением, она работает нормально.

Я пытался использовать другие классы, связанные со временем, но все равно происходит

TimeUnit.MINUTES.toSeconds(payload.getDeliveredAt().getTime() - payload.getPickingAt().getTime())
...