Я реализовал сервис Corda, предназначенный для автоматического завершения перехода между состояниями. Он работает, наблюдая за определенными состояниями хранилища, а затем запускает поток для состояний, которые соответствуют критериям хранилища.
Однако при выполнении потоковых тестов процесс зависает при обращении к службе. Я зарегистрировал некоторые выходные данные службы, которые не имеют смысла для меня
logger.info("Our Identity = $ourIdentity")
Где ourIdentity
реализовано как:
private val ourIdentity: Party
get() = serviceHub.myInfo.legalIdentities.first()
Что не имеет большого значения смысл - это то, что регистрируется после этого вывода ...
[INFO] 15:27:59,145 AutoCompleteService. Our Identity = O=Bank A, L=London, C=GB {
actor_id=Only For Testing,
actor_owning_identity=O=Bank B, L=London, C=GB,
actor_store_id=TEST,
fiber-id=10000128,
flow-id=e40a3ee1-e1ac-4d9d-9fb7-be6cff1f2f34,
invocation_id=61787f49-1ecb-4663-a038-768c3b757ea7,
invocation_timestamp=2020-03-28T15:27:59.115Z,
origin=O=Bank B, L=London, C=GB,
session_id=61787f49-1ecb-4663-a038-768c3b757ea7,
session_timestamp=2020-03-28T15:27:59.115Z,
thread-id=6759
}
В частности, почему эти отчеты actor_owning_identity
и origin
должны быть Банк B , когда ourIdentity
сообщает об узле идентификатор: Банк A ?
PS это выполняется в тесте потока с использованием MockNetwork
.