春季状态机器注释@WithStateMachine以错误的顺序创建时不起作用



我正在使用弹簧状态计算机,并希望使用@WithStateMachine,@Ontransition,@OnstateChanged添加功能和状态更改,以尽可能简单地将课程保持在@enablestatemachine中。不过,我从来没有工作过,经过一些反复试验,我意识到必须在状态机器之前创建@withstatemachine bean,但是该依赖关系并未自动解决。

我项目的有趣部分基本上归结为以下内容:

package org.myorg.a
@Component
public class MyComponent {
    @Autowired
    StateMachine<States, Events> sm;
}
package org.myorg.b
@WithStateMachine
public class Listener {
    @OnTransition
    public void anyTransition() {}
}

myComponent,因此将在侦听器之前创建状态机器,因为Spring会在包B之前查看A包A,并且实际上没有类侦听器中的任何方法都与状态计算机相关。

我能想到的仅有的两个解决方案是

  • 重命名包裹
  • 用@deppenton和明确取决于所有@WithStateMachine类的@enablestatemachine类注释

我认为这两种解决方案都不好。有人有更好的解决方法吗?

希望这只是在https://github.com/spring-projects/spring-statemachine/issues/232。

中解决了。

相关内容

  • 没有找到相关文章

最新更新