`

mule in action翻译14 : 3.2 使用文件传输

    博客分类:
  • ESB
阅读更多

 

mule in action翻译14 :  3.2  使用文件传输

 

    读写文件是应用程序获取或写出数据最常用的方式。

   本节学习如何使用mule的文件传输实现读、写、移动、删除的操作。

 

    配置属性   本书中你会看到如下的属性配置:

    host="${imap.host}"

    这些属性占位符是为了避免硬编码。属性文件的位置的配置如下:

    <context:property-placeholder location="/mule.properties"/>

 

 文件传输的一些配置属性如表 3.1 所示。



 

 

     一些Prancing Donkey公司的员工还在使用Excel记录支出。这对公司的公司的开发人员是个 特别沮丧的事情,他们本想享受Arnor Accounting REST风格 API带来便利。但更糟糕的是, 员工一直是把报销单电邮到会计部门。 会计部门人员则疲于过滤邮件中的报销单附件, 找到这些报销单后还要放到一个网络共享目录。此外还有一个问题,报销单命名并不统一。

 

     我们来看一个流,它可以轮询接受报销单的文件夹,并会把不符合命名规范的报销单复制到另外

 一个文件夹。见图 3.5  

 

 

 Listing 3.1 Using the file transport to move files from one directory to another 

 

<flow name="copyExpenseReports">
     <--!注释1  每分钟一次轮询文件夹 ./data/expenses/1/in 查找新文件-->
     <file:inbound-endpoint path="./data/expenses/1/in"  pollingFrequency="60000">
     
    <--!注释2  只接受后缀是 .xls扩展名的文件-->			
    <file:filename-regex-filter pattern=".*xls$"  caseSensitive="false"/>
    </file:inbound-endpoint>
    <--!注释3  把文件写到/data/expenses/out  把新文件命名为时间戳加上原文件名-->
    <file:outbound-endpoint path="./data/expenses/out"
                   outputPattern="EXPENSE-REPORT-
		  #[org.mule.util.DateUtils.getTimeStamp('dd-MM-yy_HH-mm-ss.SSS')]
				-#[inboundProperties['originalFilename']]"/>
    </flow>

 

 

    这个流的消息源是一个 文件 inbound endpoint ,

   注释1处是轮询文件夹  /data/expenses/1/in以发现新文件,频率是每分钟一次。

   注释2处 定义了一个filename-regex-filter,指定endpoint只接收后缀名为.xml 的文件,并会忽略大小写。

   注释3处,outbound endpoint 格式化文件名为时间戳加上原文件名。

        为了得到后者你引用了originalFilename--这是由inbound endpoint填充进去的。

 

 

  默认情况下,一个文件inbound endpoint向outbound endpoint传送文件时会在源文件夹把文件剪切掉。

可以通过设置文件 连接器的 autoDelete属性为false来改变这种默认行为。

但要小心,这回导致inbound endpoint 重复读取文件,直至文件被从源文件夹总删掉。

 

   fileAge参数允许你读取文件存在时长超过某毫秒的文件。例如 设置为 5000 ,将导致文件inbound endpoint只处理 文件存在时长超过5分钟的文件。

 

    多个mule节点轮询同一个共享文件系统

   第8章你将看到 把同一个mule应用部署到多个mule实例中。这种场景下必须要小心,需要协调多个节点的

   状态,避免发生同时读、删、移动文件。    mule企业版的的集群功能将会自动的协调和分散开mule应用对

   文件传输的使用。

 

 

  • 大小: 57.9 KB
  • 大小: 49 KB
  • 大小: 65.5 KB
分享到:
评论

相关推荐

    Mule in Action, 2nd Edition

    Mule in Action, Second Edition is a totally-revised guide covering Mule 3 fundamentals and best practices. It starts with a quick ESB overview and then dives into rich examples covering core concepts ...

    Mule in action下载(英文版)

    《Mule in Action》一书深入探讨了Mule——一个轻量级消息框架与高度分布式的对象代理系统,为读者提供了全面的理论与实践指导。本书由David Dossot和John D'Emic共同撰写,旨在帮助开发者掌握Mule的核心功能与配置...

    mule in action

    《Mule in Action》是一本专注于Mule ESB(企业服务总线)的入门教程,旨在帮助读者系统地学习和理解这一强大的集成平台。Mule ESB是开源领域中的一个重量级选手,常用于构建灵活、可扩展的企业级集成解决方案。这...

    mule in action 说明+文档介绍

    mule in action 和doc文档详细介绍 Mule的核心组件是UMO(Universal Message Objects,从Mule2.0开始UMO这一概念已经被组件Componse所代替),UMO实现整合逻辑。UMO可以是POJO,JavaBean等等。它支持30多种传输协议...

    Mule in Action

    Mule in Action is acomprehensive tutorial designed for working Java developers. This authoritativebook explores the architecture and the main features of version Mule 2 throughnumerous running ...

    mule in action 第二版英文正式版

    ### Mule in Action 第二版 英文正式版 关键知识点概述 #### 一、书籍简介与背景 《Mule in Action》第二版是一本详细介绍Mule ESB(Enterprise Service Bus)这一著名开源框架的书籍。该书由David Dossot、John D...

    Mule in action

    在源码方面,《Mule in Action》会带领读者深入了解Mule的内部工作机制,包括如何阅读和理解Mule配置文件,以及如何自定义Mule组件。这有助于开发者更好地定制化Mule,以满足特定的业务需求。此外,通过学习Mule的...

    Mule in Action, Second Edition

    总体而言,Mule in Action, Second Edition这本书是关于Mule ESB使用和集成实践的权威指南,涵盖了从基础概念到高级特性的广泛主题。本书适合于那些希望深入学习和利用Mule ESB进行企业级应用集成的开发人员和架构师...

    mule in action 即mule实战源码

    《Mule in Action》是关于Mule ESB的实战指南,该书深入浅出地介绍了如何使用Mule这一强大的企业服务总线(ESB)进行应用程序集成。Mule ESB以其用户基数庞大、文档详尽以及社区活跃而备受赞誉,是企业级集成解决...

    mule in action mule 实战

    综上所述,通过分析给出的文件信息,我们可以得知"Mule in Action: Mule 实战"这本书对于希望深入了解和应用Mule ESB技术的IT专业人员来说,是一个非常好的资源。书中不仅涵盖了丰富的理论知识,还包含了丰富的案例...

    mule 3.2 节点详解

    ### Mule 3.2 节点详解 Mule 3.2 是一款非常流行的集成平台,它基于企业服务总线(Enterprise Service Bus, ESB)架构设计而成,能够帮助开发者轻松地构建复杂的集成解决方案。本文将详细介绍 Mule 3.2 中的关键...

    Mule in Action 2014

    《Mule in Action》第二版是一本全面介绍如何使用Mule ESB进行高效集成开发的书籍,由David Dossot、John D’Emic和Victor Romero共同编写。 #### 二、Mule ESB的关键特性 **1. 消息处理:** Mule ESB支持多种消息...

    实战Mule:利用Mule调用XFire发布的文件上传服务

    本篇将深入探讨如何使用Mule ESB来调用由XFire发布的文件上传服务。 首先,理解Mule的核心概念至关重要。Mule ESB是一个开源的ESB,它提供了一个事件驱动的平台,用于连接不同系统和应用程序。通过使用Mule,我们...

Global site tag (gtag.js) - Google Analytics