首页 > 解决方案 > Spring State Machine - 使用 StateMachineModelConfigurer 时定义 machineId

问题描述

在定义状态机时,StateMachineConfigurationConfigurer您可以轻松定义machineId

config.withConfiguration().machineId("statusMachine")

但是当使用StateMachineModelConfigurer定义时(例如,用于 DB 驱动的数据)

@Bean
public StateMachineModelFactory<String, String> modelFactory() {
    return new CustomStateMachineModelFactory();
}

public static class CustomStateMachineModelFactory implements StateMachineModelFactory<String, String> {
@Override
public StateMachineModel<String, String> build() {
    //..
} 
@Override
public StateMachineModel<String, String> build(String machineId) {
    return build();
}

没有定义选项machineId,我读了状态机 ID

所有这些与 machineId 有什么关系?StateMachineModelFactory 还有一个 StateMachineModel build(String machineId) 方法,StateMachineModelFactory 实现可以选择使用该方法。

但我看不到如何machineId为特定的状态机定义

标签: javaspringspring-statemachine

解决方案


推荐阅读