如何循环 mule flow 中对象库的 keys/values
How to loop over the keys/values of a objectstore in mule flow
我想遍历对象存储条目的所有值并将它们记录在 mule 流中。我正在尝试做这样的事情 - 这是正确的还是有更好的东西。我不想使用 java.
<objectstore:allkeys config-ref="ObjectStore" targetProperty="PropertyKey" targetScope="SESSION"/>
<foreach collection="#[PropertyKey]" doc:name="Splitting Locations_XML into chunks">
<logger message="Key--#[payload]" level="INFO" doc:name="Logger"/>
<objectstore:retrieve key="#[payload]" config-ref="ObjectStore" targetProperty="PropertyValue" targetScope="SESSION"/>
<logger message="Value--#[payload]" level="INFO" doc:name="Logger"/>
</foreach>
我会争辩说,您正在尝试将本质上是程序代码的喇叭塞进 pipes and filters 模式中,将流处理器用于用例,这些用例自然会调用管道和过滤器并将程序逻辑封装在组件中,然后包括流中的组件。避免使用 Mule 构造编写过程逻辑。我知道像大多数设计问题一样,存在一些灰色区域,但在大多数情况下,可以就最佳实践达成一致。
从纯粹的实现角度来看,这看起来确实有效。
我想遍历对象存储条目的所有值并将它们记录在 mule 流中。我正在尝试做这样的事情 - 这是正确的还是有更好的东西。我不想使用 java.
<objectstore:allkeys config-ref="ObjectStore" targetProperty="PropertyKey" targetScope="SESSION"/>
<foreach collection="#[PropertyKey]" doc:name="Splitting Locations_XML into chunks">
<logger message="Key--#[payload]" level="INFO" doc:name="Logger"/>
<objectstore:retrieve key="#[payload]" config-ref="ObjectStore" targetProperty="PropertyValue" targetScope="SESSION"/>
<logger message="Value--#[payload]" level="INFO" doc:name="Logger"/>
</foreach>
我会争辩说,您正在尝试将本质上是程序代码的喇叭塞进 pipes and filters 模式中,将流处理器用于用例,这些用例自然会调用管道和过滤器并将程序逻辑封装在组件中,然后包括流中的组件。避免使用 Mule 构造编写过程逻辑。我知道像大多数设计问题一样,存在一些灰色区域,但在大多数情况下,可以就最佳实践达成一致。
从纯粹的实现角度来看,这看起来确实有效。