在Spring中Statemachine reference doc是这个示例代码:
@WithStateMachine
static class Bean1 {
@OnTransition(source = "S1", target = "S2")
public void fromS1ToS2() {
}
}
是否可以从使用StateContext
注释的方法访问@OnTransition
对象?也许我不理解正确使用注释...我认为它可以像Action
一样使用,我可以访问存储在ExtendedState
中的数据。
答案 0 :(得分:1)
似乎我完全忘记在我们的文档中添加这些特定信息。我们无法访问StateContext
,但event headers
和ExtendedState
可用。
在MethodAnnotationTests中有一个单元测试。
简短的故事是处理器处理方法调用检测到参数类型ExtendedState
和Map
,如果它用@EventHeaders
注释的话。我也一直在考虑通过方法参数以相同的方式支持StateContext
,但还没有那么远。
@WithStateMachine
public class Bean2 {
@OnTransition(source = "S1", target = "S2")
public void method1(@EventHeaders Map<String, Object> headers, ExtendedState extendedState) {
}
}
我也会为此解析文件,thx指出这个!