使用 soa ftp 适配器基于序列/名称进行文件排序
Posted
技术标签:
【中文标题】使用 soa ftp 适配器基于序列/名称进行文件排序【英文标题】:File sorting based on sequence/name using soa ftp adapter 【发布时间】:2017-12-21 11:06:46 【问题描述】:目前,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>
感谢您的帮助。
【问题讨论】:
【参考方案1】:我认为处理文件的顺序很重要。如果是这样,我不会将确保顺序的工作委托给文件适配器。我宁愿在后端处理这个。如果您不希望或可以这样做:FTP 适配器始终按字母升序获取文件。
【讨论】:
【参考方案2】: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 入站轮询策略基于时间戳,禁用此属性或从 .jca 文件或控制台中删除此属性启用默认轮询策略,即轮询基于顺序。
谢谢。
【讨论】:
以上是关于使用 soa ftp 适配器基于序列/名称进行文件排序的主要内容,如果未能解决你的问题,请参考以下文章