在Corda中,如何软锁定状态以防止其他流从Vault中选择它?如何释放软锁?它会在任何时候自动释放吗?
答案 0 :(得分:0)
您可以使用以下方法将状态软锁定在流中:
serviceHub.vaultService.softLockReserve(
runId.uuid,
NonEmptySet.of(stateRef)
)
位置:
stateRef
是您要软锁定的状态runId
是每个流程中定义的属性通过这种方式锁定状态,软锁定的流程结束时(成功或错误),将自动释放软锁定。
您还可以使用以下方法释放软锁:
serviceHub.vaultService.softLockRelease(
runId.uuid,
NonEmptySet.of(stateRef)
)
您没有义务使用流程的UUID
软锁定状态。您可以提供自定义的UUID
,以提供对释放软锁的时间的额外控制。