具有JPA持久性的Spring状态机-出厂配置

问题描述

我试图弄清楚如何轻松地使用弹簧状态机(包括JPA的持久性)。 这是我目前正在处理的问题:

配置StateMachineFactory-编译器错误

我有以下带有枚举的状态机作为状态和事件。 configure-method中存在以下编译错误:

中的方法工厂(StateMachineModelFactory ) ModelConfigurer 类型不适用于 参数(RepositoryStateMachineModelFactory)

错误的原因是,RepositoryStateMachineModelFactory将通用成员设置为<String,String>,这与我的<UserState,UserEvent>不兼容。使用RepositoryStateMachineModelFactory以外的通用成员时,给定的String是否实现错误?带有注释@EnableStateMachineFactory时,是否完全需要工厂的配置?如何解决编译错误?

@EnableStateMachineFactory
public class StateMachineConfiguration extends EnumStateMachineConfigurerAdapter<UserState,UserEvent> {
    
    @Autowired
    private StateRepository<? extends RepositoryState> stateRepository;
    
    @Autowired
    private TransitionRepository<? extends RepositoryTransition> transitionRepository;
    
    @Override
    public void configure(StateMachineModelConfigurer<UserState,UserEvent> states) throws Exception {
        states.withModel().factory(new RepositoryStateMachineModelFactory(stateRepository,transitionRepository)); // compile error
    }

感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)