Отладка с помощью Hayk на Slack.
Транзакции БД обрабатываются Corda.Эти транзакции генерируются только в двух точках.Во время запуска узла службы Corda могут вызывать запросы и вставки базы данных и внутри потоков.
В этом случае доступ к базе данных осуществлялся извне запуска узла, а не во время вызова потока.
Чтобы обойти это, необходимо создать новый поток, который обрабатывает операции с БД, которые вызывали ошибку.Операция db все еще может храниться внутри службы Corda, но она должна вызываться из потока.
Этот поток не нуждается в ответчике.Он должен быть помечен @StartableByService
и не должен содержать @InitiatingFlow
(необходимо дважды проверить это).Содержимое call
просто вызывает операцию db и возвращает результат обратно вызывающей стороне.
TLDR - все операции db должны вызываться из потока или во время запуска узла.