我想在devkit中创建除连接器之外的其他东西。那可能吗?最简单的例子是创建一个No-Op进入那些不可能是空的“否则”选择分支。我还认为锁定范围是有用的,因此流程的一部分只能一次执行一次。谢谢!
答案 0 :(得分:2)
您可以通过仅使用“配置”字段创建@Connector并且不进行连接管理来创建组件。如果您使用的是DevKit插件,则可以选择您想要的身份验证,这将创建一个具有@Configuration连接策略的无状态连接器。
此外,您可以在连接器中创建@Transformer。这个github project有一个简单的连接器,可以在其上定义几个变换器。
您可以在其他分支上放置空记录器,或者根据需要创建No-Op。
关于你的锁定范围,我不能100%确定我们是否可以这样做,但我认为如果你使用拦截标志配置你的@Processor,你的@Processor将能够执行以下链并获得结果。
类似的东西:
@Processor(intercepting = true)
public Object shouldContinue(boolean cont, SourceCallback afterChain) throws Exception {
if (cont) {
return afterChain.process();
}
return null;
}
在这个示例中,cont只是您在@Processor上的一个可配置标志,您决定是否要执行链的其余部分。
如果您需要MuleEvent:
@Inject
@Processor(intercepting = true)
public MuleEvent shouldContinueFullEvent(boolean cont, MuleEvent muleEvent, SourceCallback afterChain) throws Exception {
if (cont) {
return afterChain.processEvent(muleEvent);
}
return null;
}