使用soa ftp适配器基于序列/名称进行文件排序

时间:2017-12-21 11:06:47

标签: oracle sorting ftp middleware soa

目前,ftp使用属性基于时间戳来轮询来自其他服务器的文件:

新要求声明根据文件的名称或顺序轮询文件,这与使用时间戳不同。

目前,soa中的ftp适配器提供了两个属性

  • 列表项

oracle.tip.adapter.file.inbound.listing.TimestampSorterAscending按修改后的时间戳以升序方式对文件名进行排序;

oracle.tip.adapter.file.inbound.listing.TimestampSorterDescending按降序修改时间戳对文件名进行排序

适配器配置如下:

<adapter-config name="##" adapter="FTP Adapter" wsdlLocation="##.wsdl" xmlns="http://platform.###">

  <connection-factory location="###" UIincludeWildcard=""/>
  <endpoint-activation portType="Get_ptt" operation="Get">
    <activation-spec className="###">
      <property name="DeleteFile" value="true"/>
      <property name="MinimumAge" value="0"/>
      <property name="PhysicalDirectory" value="##"/>
      <property name="Recursive" value="false"/>
      <property name="PollingFrequency" value="5"/>
      <property name="FileType" value="ascii"/>
      <property name="PhysicalArchiveDirectory" value=##"/>
      <property name="IncludeFiles" value=""/>
      <property name="UseHeaders" value="false"/>
      <property name="SingleThreadModel" value="true"/>
      <property name="MaxRaiseSize" value="50"/>
      <property name="ListSorter" value="oracle.tip.adapter.file.inbound.listing.TimestampSorterAscending"/>

    </activation-spec>
  </endpoint-activation>

</adapter-config>

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

我认为文件处理的顺序很重要。如果是这样,我不会委托作业来确保文件适配器的顺序。我宁愿在后端处理这个问题。如果你不想或不能这样:FTP适配器总是按升序字母顺序选择文件。

答案 1 :(得分:0)

ftp目前允许以下两种轮询策略选项:

- property name =“ListSorter”value =“oracle.tip.adapter.file.inbound.listing.TimestampSorterAscending” -

- property name =“ListSorter”value =“oracle.tip.adapter.file.inbound.listing.TimestampSorterDescending” -

ftp适配器(.JCA文件)中的这些属性允许ftp入站轮询策略基于timeStamp,禁用此属性或从.jca文件或从控制台中删除此属性启用默认轮询策略,即基于的轮询序列。

感谢。