🥨给上下文设置别名
版本支持:v2.12.0+
LiteFlow还支持给上下文设置别名,只需要在上下文中进行标注就可以了:
@ContextBean("anyName")
public class YourContext {
...
}
执行时还是老样子:
LiteflowResponse response = flowExecutor.execute2Resp("chain1", 流程初始参数, YourContext.class);
或者
YourContext context = new YourContext();
context.setXxxx(yyy);
LiteflowResponse response = flowExecutor.execute2Resp("chain1", 流程初始参数, context);
然后在组件中可以根据别名去拿这个上下文:
@Component("a")
public class ACmp extends NodeComponent {
@Override
public void process() {
TestContext context = this.getContextBean("anyName");
...
}
}
这个特性,尤其是在你要使用多上下文,并且两个上下文是一个类的时候特别有用,因为用class的方式去取有可能就会取错,而别名的方式就可以很好的规避这点。
提示
如果你的上下文没声明@ContextBean
,其实也是可以通过名称取到的,这时的名称就是上下文className,并且首字母小写。比如你的上下文类名为PriceContext
,那么你通过this.getContextBean("priceContext");
也是可以取到的。
帮助我们改善此文档 (opens new window)
上次更新: 2024/05/09, 11:11:48