Mule ESB Quartz配置应用

功能:下载文件过滤保存。注意原带的FTP Connector不能传递多个文件,要定制FTP transport.
<?xml version="1.0" encoding="UTF-8"?>
<custom-connector name="icbcFtpConnector" class="com.youisoft.gateway.common.ftp.GWFtpConnector">
</custom-connector>

<file:connector name="fileConnector">
<file:expression-filename-parser/>
</file:connector>

<quartz:connector name="quartzConnector">
</quartz:connector>


<beans:bean name="accountFilter" class="com.youisoft.gateway.filter.IcbcAccountFileFilter"></beans:bean>

<!-- endpoint,Uncomment area of below in producion enviroment -->
<quartz:endpoint name="icbcSaveIn" jobName="icbcSaveJob" cronExpression="0 30 20 * * ? *" connector-ref="quartzConnector">
</quartz:endpoint>

<ftp:endpoint name="icbcFtpIn" binary="false" passive="true" host="10.0.26.33" port="21" path="/home/janly/ftp" user="janly" password="123456" connector-ref="icbcFtpConnector">
<filter ref="accountFilter" />
</ftp:endpoint>

<file:endpoint name="icbcFileWrite" path="/opt/icbc" outputPattern="#[header:originalFilename]" connector-ref="fileConnector">
</file:endpoint>

<custom-transformer name="accountTransformer" class="com.youisoft.gateway.transformer.AccountTransformer">
</custom-transformer>

<model>
<service name="icbcSaveService">
<inbound>
<quartz:inbound-endpoint ref="icbcSaveIn" synchronous="true">
<quartz:endpoint-polling-job>
<quartz:job-endpoint ref="icbcFtpIn" timeout="30000"/>
</quartz:endpoint-polling-job>
</quartz:inbound-endpoint>
</inbound>
<script:component>
<script:script engine="groovy">
def clsr={
message.setStringProperty("PACKET.BODY.CHECKENTERPCODE","ICBC");
message.setStringProperty("PACKET.BODY.CHECKFILEFLAG","3");
def cal=java.util.Calendar.getInstance();
def sdf=new java.text.SimpleDateFormat("yyyy-MM-dd");
message.setStringProperty("PACKET.BODY.CHECKFILEDATE",sdf.format(cal.getTime()));
}
clsr.call();
return message;
</script:script>
</script:component>
<outbound matchAll="true">
<list-message-splitter-router>
<file:outbound-endpoint ref="icbcFileWrite" synchronous="true">
</file:outbound-endpoint>
</list-message-splitter-router>
<pass-through-router>
<vm:outbound-endpoint ref="extAccountSave" transformer-refs="accountTransformer" synchronous="false" />
</pass-through-router>

</outbound>
</service>
</model>
</mule>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值