Corda 是否可以创建一个可调度状态,以连续调度活动,而不必每次都使用它?

Corda 是否可以创建一个可调度状态,以连续调度活动,而不必每次都使用它?,corda,Corda,根据heartbeat示例项目,我的理解是,如果您希望在某个时间间隔(例如,每10分钟)安排一次活动,那么每次都必须使用下一个计划的活动并生成一个新状态。如果除了下一个计划的活动之外没有任何变化,那么这似乎是不必要的。有没有办法在不消耗状态的情况下进行间隔活动?可调度状态的目的是在特定时间在状态上调度事件。例如,当达到截止日期时,拍卖将处于非活动状态,从而停止接收出价。SchedulableState在这类用例中特别有用 可调度状态可调度事件,该事件触发流。该流主要运行一个事务,在大多数情况下(

根据heartbeat示例项目,我的理解是,如果您希望在某个时间间隔(例如,每10分钟)安排一次活动,那么每次都必须使用下一个计划的活动并生成一个新状态。如果除了下一个计划的活动之外没有任何变化,那么这似乎是不必要的。有没有办法在不消耗状态的情况下进行间隔活动?

可调度状态的目的是在特定时间在状态上调度事件。例如,当达到截止日期时,拍卖将处于非活动状态,从而停止接收出价。SchedulableState在这类用例中特别有用

可调度状态可调度事件,该事件触发流。该流主要运行一个事务,在大多数情况下(除非您正在进行发行),该事务将消耗一个状态

但是,如果您想使用以下服务来安排超出SchedulableState的内容:

@CordaService
public class SchedulerService extends SingletonSerializeAsToken {

    private AppServiceHub serviceHub;

    public SchedulerService(AppServiceHub serviceHub) {
        this.serviceHub = serviceHub;
        schedule();
    }


    private void schedule(){
        Timer timer = new Timer();
        TimerTask task = new Helper();

        timer.schedule(task, 2000, 5000);
    }

    static class Helper extends TimerTask
    {
        public static int i = 0;
        public void run()
        {
            System.out.println("Timer ran " + ++i);
        }
    }
}