Я пытаюсь передать данное состояние некоторым учетным записям наблюдателей (все находится на уровне учетных записей). Проблема, с которой я сталкиваюсь, заключается в том, что для наблюдателя я не могу получить потоки, которые я ему транслировал. Широковещательная рассылка прошла успешно, что я подтвердил наличием записей в таблице account_to_state_refs, а также на самом узле (я транслировал состояние от учетной записи на одном узле к другой учетной записи на другом узле).
запрос, который я использую для получения учетных записей, выглядит следующим образом:
public List<StateAndRef<TradeState>> getTradeStatesByAccount(){
AccountInfo myAccount = UtilitiesKt.getAccountService(this).accountInfo(accountName).get(0).getState().getData();
QueryCriteria.VaultQueryCriteria criteria = new QueryCriteria.VaultQueryCriteria(Vault.StateStatus.ALL).withExternalIds(Collections.singletonList(myAccount.getIdentifier().getId()));
List<StateAndRef<TradeState>> myOrders = getServiceHub().getVaultService().queryBy(TradeState.class,criteria).getStates();
return myOrders;
}
И код, который используется для передачи состояния другим учетным записям:
UtilitiesKt.getAccountService(this).shareStateWithAccount(accountInfo.getIdentifier().getId(), stateToBroadcast);
В этом случае как я могу обойтись с извлечением состояний, для которых я являюсь наблюдателем, и состояний, участником которых я являюсь? Дайте мне знать, если вам нужна другая информация. Заранее спасибо!
Редактировать: Найден обходной путь, добавлен в ответ.