Java 在使用Mule 4.1.4的Mule扩展中,是否有方法获取有关我的操作中的下一个操作的信息?

Java 在使用Mule 4.1.4的Mule扩展中,是否有方法获取有关我的操作中的下一个操作的信息?,java,mule,Java,Mule,我正在使用Mule 4.1.4创建一个Mule扩展。。 有没有办法获取我手术中下一次手术的信息 例如,在下面的定义中,我想知道下一个操作是vm:publish #[有效载荷.正文] 在下面的定义中,我想知道下一个操作是http:request 我可以使用ComponentLocation获取操作信息,但我不知道如何获取下一个操作信息。我认为这是不可能的,也不应该尝试。我猜这与Mule中的流中组件的预期用途背道而驰。流的期望是,您可以更改流中的组件,只要它们同意在它们之间交换的数据。这将在

我正在使用Mule 4.1.4创建一个Mule扩展。。 有没有办法获取我手术中下一次手术的信息

例如,在下面的定义中,我想知道下一个操作是vm:publish


#[有效载荷.正文]
在下面的定义中,我想知道下一个操作是http:request



我可以使用ComponentLocation获取操作信息,但我不知道如何获取下一个操作信息。

我认为这是不可能的,也不应该尝试。我猜这与Mule中的流中组件的预期用途背道而驰。流的期望是,您可以更改流中的组件,只要它们同意在它们之间交换的数据。这将在组件之间引入耦合

为每个用例制作消息处理器会更好,而且可能更容易

例如:

<foo:my-operation-formatA />
<vm:publish queueName="myQueue">
    <vm:content>#[payload.body]</vm:content>
</vm:publish>

<foo:my-operation-formatB />
<async>
    <http:request method="GET" path="greet" config-ref="clientConfig"/>
</async>

#[有效载荷.正文]

您为什么想知道这一点?请描述用例。@aled,我为我的客户提供了一个库。其目的是通过将“我的操作”放在用户通信操作之前,收集各种类型的信息并执行适合通信内容的预处理。此外,我不想为用户使用的每个通信操作做准备。这可能与运行时的设计有关。每个组件都应该独立于以下组件。我认为你是对的。我临时使用使用@Inject获得的ConfigurationComponentLocator和定义为操作参数的ComponentLocation,直到找到替代方案,例如库设计更改。“例如库设计更改”。我的意思是“例如我的库设计更改”