В текущей версии Corda RPC-соединение и все
Наблюдаемые объекты, созданные клиентом, будут просто генерировать исключения
и умирает, когда узел или TCP-соединение становятся недоступными.
Ответственность за устранение этих ошибок и повторное подключение лежит на клиенте.
как только узел снова запустится. Запуск команд RPC против остановленного
узел просто выбросит исключения. Ранее созданные Observables будут
не генерировать никаких событий после перезапуска узла. Клиент должен
явно повторите команду и подпишитесь, чтобы получать больше событий.
RPC, которые имеют побочный эффект, такой как пусковые потоки, могут иметь
выполняется на узле, даже если возвращаемое значение не получено
клиент. Единственный способ подтвердить это выполнить запрос бизнес-уровня
и повторите попытку соответственно. Пример runFlowWithLogicalRetry помогает с
это.
В случае, если пользователям требуется такая функциональность для написания эластичного RPC
клиент, у нас есть образец, который демонстрирует, как это может быть реализовано и
также тщательный тест, который демонстрирует, что он работает как ожидалось.