收到事件后调用mule 3文件传输
我使用mule 3.3.1 CE 我有一个场景,当消息负载为SUCCESS string时,从备份目录读取*.json文件 这是我的mule配置:收到事件后调用mule 3文件传输,mule,Mule,我使用mule 3.3.1 CE 我有一个场景,当消息负载为SUCCESS string时,从备份目录读取*.json文件 这是我的mule配置: 根据这个错误,我知道file:inbound端点位于错误的位置 我的问题是,一旦mule消息负载成功,我如何告诉mule file transport读取文件。您可以在流中放置入站端点。入站端点是消息源,因此必须放在流的开头 解决您的问题有很多可行的选择,但我推荐以下两种: 将文件入站端点放入已初始化停止的流中,并使用此处所示的方法启动/停止此流
根据这个错误,我知道file:inbound端点位于错误的位置
我的问题是,一旦mule消息负载成功,我如何告诉mule file transport读取文件。您可以在流中放置入站端点。入站端点是消息源,因此必须放在流的开头 解决您的问题有很多可行的选择,但我推荐以下两种:
- 将文件入站端点放入已初始化停止的流中,并使用此处所示的方法启动/停止此流:问题是您需要找到一个好时机来停止此流,可能是通过让另一个流充当目录上的观察者
- 将上述配置中的文件入站端点替换为自定义组件(Java或脚本化),该组件以编程方式使用MuleClient to
目标目录中的文件,并将这些文件分派给负责处理这些文件的另一个流request()
- 将文件入站端点放入已初始化停止的流中,并使用此处所示的方法启动/停止此流:问题是您需要找到一个好时机来停止此流,可能是通过让另一个流充当目录上的观察者
- 将上述配置中的文件入站端点替换为自定义组件(Java或脚本化),该组件以编程方式使用MuleClient to
目标目录中的文件,并将这些文件分派给负责处理这些文件的另一个流request()
文件:入站端点
何时停止从指定目录读取JSON文件?您是否有其他事件使其停止?@DavidDossot一旦目录为空,它将停止。如果我错了,请纠正我入站端点始终保持轮询,当目录为空时它不会停止轮询。顺便说一句,#[message.payload=='SUCCESS']
可能是您想要的(您缺少了成功的'
)。您希望文件:入站端点
何时停止从指定目录读取JSON文件?您是否有其他事件使其停止?@DavidDossot一旦目录为空,它将停止。如果我错了,请纠正我入站端点始终保持轮询,当目录为空时它不会停止轮询。顺便说一句,#[message.payload=='SUCCESS']
可能是您想要的(您缺少了成功的'
)。有没有办法检查是否已经启动了与您在此处发布的流程类似的流程?是的!在org.mule.construct.Flow
上有一个isStarted()
方法:我实现了第一个建议,并且成功了。感谢您的支持。是否有办法检查流程是否已经启动,与您在此处发布的流程类似?是的!在org.mule.construct.Flow
上有一个isStart()
方法:我实现了第一个建议,它成功了。感谢您的支持。
<flow>
...
<flow-ref name="auditTrailFlow"/>
<flow-ref name="auditTrailBackupFlow"/>
</flow>
<sub-flow name="auditTrailBackupFlow">
/// returns SUCCESS
</sub-flow>
<sub-flow name="auditTrailBackupFlow">
<description>
Resending backup AuditTrail JSON's objects to db
</description>
<choice>
<when expression="#[message.payload == SUCCESS]">
<logger level="INFO" message="Checking audittrail backup directory"/>
<file:inbound-endpoint connector-ref="in" path="${audittrail.backup.dir}">
<file:filename-wildcard-filter pattern="*.json" caseSensitive="true" />
</file:inbound-endpoint>
<not-filter>
<filter ref="nullPayloadFilter"/>
</not-filter>
<json:json-to-object-transformer targetClass="com.company.AuditTrail"/>
// updates db
</when>
<otherwise>
// do something
</otherwise>
</choice>
</sub-flow>
Invalid content was found starting with element 'file:inbound-endpoint'.