MFT agent.properties 文件

每个 Managed File Transfer Agent 都有自己的属性文件 agent.properties,其中必须包含代理用于连接到其队列管理器的信息。 agent.properties 文件还可以包含更改代理行为的属性。

agent.properties 文件由安装程序或 fteCreateAgentfteCreateBridgeAgentfteCreateCDAgent 命令创建。 您可以将任意这些命令与 -f 标志一起使用,以更改基本代理队列管理器属性和那些与创建的代理类型关联的高级代理属性。 要更改或添加高级代理属性,您必须在文本编辑器中编辑此文件。

[UNIX、Linux、Windows、IBM i]在 Multiplatforms 版上,代理程序的 agent.properties 文件位于 MQ_DATA_PATH/mqft/config/coordination_qmgr_name/agents/agent_name 目录中。

[z/OS]z/OS®上, agent.properties 文件位置为 $BFG_CONFIG variable/mqft/config/coordination_qmgr_name/agents/agent_name

如果更改 agent.properties 文件,那么必须重新启动代理以获取更改。

可以在表示文件或目录位置的某些 Managed File Transfer 属性中使用环境变量。 这允许在运行产品的各个部分时使用的文件或目录位置因环境更改而变化,例如哪个用户在运行进程。 有关更多信息,请参阅 在 MFT 属性中使用环境变量

[Windows]
注:Windows上,有两个属性:
  • windowsService
  • windowsServiceVersion
MFT 命令添加到 agent.properties 文件中,这些命令用于设置要作为 Windows 服务运行的代理程序。

您不应手动添加或修改这些属性,因为这将阻止代理程序正常工作。

有关如何设置代理以作为Windows服务,请参见开始MFT代理人作为Windows服务

基本代理程序属性

每个 MFT agent.properties 文件都包含以下基本代理程序属性:
表 1. 基本代理程序属性
属性名 描述 缺省值
agentName 代理的名称。 代理程序的名称必须符合 IBM MQ 对象命名约定。 有关更多信息,请参阅 MFT 对象命名约定 没有缺省值
agentDesc 代理的描述 - 如果您选择创建描述。 没有缺省值
agentQMgr 代理队列管理器名称。 没有缺省值
agentQMgrHost 代理队列管理器的主机名或 IP 地址。 没有缺省值
agentQMgrPort 与代理队列管理器建立的客户机连接所使用的端口号。 1414
agentQMgrChannel 用于与代理队列管理器连接的 SVRCONN 通道名称。 SYSTEM.DEF.SVRCONN
agentType 代理类型:
  • 标准非网桥代理 (STANDARD)
  • 协议网桥代理 (BRIDGE)
  • Connect:Direct® 网桥代理 (CD_BRIDGE)
  • IBM Integration Bus 使用的嵌入式代理程序 (EMBEDDED)
  • Sterling File Gateway 嵌入式代理 (SFG)
标准

如果没有为 agentQMgrHost 属性指定值,那么缺省情况下使用绑定方式。

如果为 agentQMgrHost 属性指定值,但没有为 agentQMgrPort 和 agentQMgrChannel 属性指定值,那么缺省情况下使用端口号 1414 和通道 SYSTEM.DEF.SVRCONN。

高级代理属性

Managed File Transfer 还提供了帮助您配置代理程序的更高级代理程序属性。 如果您要使用以下任意属性,请手动编辑 agent.properties 文件以添加所需的高级属性。 在 Windows上指定文件路径时,请确保将分隔符反斜杠 (\) 输入为双反斜杠 (\\) ,即转义反斜杠 (\)。 或者,可以使用单个正斜杠 (/) 字符作为分隔符。 有关字符转义的更多信息Java属性文件,请参阅Oracle文档Properties 类的 Javadoc

表 2. 高级代理程序属性: 代理程序大小
属性名 描述 缺省值
agentCheckpointInterval

为了恢复目的而采用检查点的间隔(以完整数据帧为单位)。 这是高级属性,对于大多数 Managed File Transfer 配置,不需要修改其值。

如果存在导致传输进入恢复状态的问题,那么传输只可以恢复到检查点边界。 因此,该值越大(具有较大的 agentChunkSize、agentWindowSize 和 agentFrameSize 值),代理恢复传输所需的时间就越长。 对于传输很少进入恢复状态的可靠 Managed File Transfer 网络,增大此值以提高整体性能可能是有益的。

1
agentChunkSize

针对文件数据传输的每个传输块的大小。 因此,表示在源代理和目标代理之间传输的 IBM MQ 消息的最大大小。 这是高级属性,对于大多数 Managed File Transfer 配置,不需要修改其值。

该值是通过源代理和目标代理协商而定,使用两个值中较大一个。 如果要更改此属性的值,请在源代理和目标代理处更改该值。

agentChunkSize 是一个整数值。 例如:agentChunkSize=10240 将块大小设置为 10 KB。

262144 字节(等于 256KB)
agentFrameSize

传输帧的窗口数。 这是高级属性,对于大多数 Managed File Transfer 配置,不需要修改其值。

对于具有较长等待时间的网络,增加此值可以提高整体性能,因为这会使代理同时具有更多活动消息块。

该属性的值乘以 agentWindowSize 再乘以 agentChunkSize,指示每个传输的代理内存使用量上限。 例如,针对每个传输,262144 字节块 x 10 x 5 = 12.5MB。

注:如果单个传输中传输的文件大小小于 12.5MB,那么增加该属性值对传输性能无影响。

5
agentWindowSize

每个窗口的块数。 这是高级属性,对于大多数 Managed File Transfer 配置,不需要修改其值。

对于具有较长等待时间的网络,增加此值可以提高整体性能。 因为这会使代理同时具有更多活动消息块,并会降低将确认消息发送回源代理的频率。

该属性值乘以agentFrameSize,),再乘以agentChunkSize,表示代理每次传输的内存消耗上限,也表示目标代理数据队列中 "IBM MQ消息数据的上限。 例如,针对每个传输,262144 字节块 x 10 x 5 = 上限 12.5MB。

注:如果单个传输中传输的文件大小小于 12.5MB,那么增加该属性值对传输性能无影响。

10
表 3. 高级代理程序属性: 代码页
属性名 描述 缺省值
agentCcsid 代理连接其代理队列管理器所使用的代码页。 如果为 agentCcsid 指定值,那么还必须为 agentCcsidName 指定值。 有关如何查看 JVM 的已知代码页的信息,请参阅 fteCreateBridgeAgent 命令中的 -hsc 参数 1208
agentCcsidName agentCcsid 的 Java 说明。 如果为 agentCcsidName 指定值,那么还必须为 agentCcsid 指定值。 UTF8
表 4. 高级代理程序属性: 命令
属性名 描述 缺省值
maxCommandHandlerThreads 控制用于传输命令消息初始解析和处理的线程数。 当线程处于活动状态时,需要一个到队列管理器的连接,但在空闲时,线程会释放连接。 5
maxCommandOutput 用于命令输出存储的最大字节数。 该属性适用于为受管调用指定的命令以及为受管传输指定的 preSource、postSource、preDestination 和 postDestination 命令。 这会限制写入 SYSTEM.FTE 主题上传输日志的命令输出的长度。 10240
maxCommandRetries 代理允许重试命令的最大次数。 该属性适用于为受管调用指定的命令以及为受管传输指定的 preSource、postSource、preDestination 和 postDestination 命令。 9
maxCommandWait 代理允许重试之间的最长等待时间(秒)。 该属性适用于为受管调用指定的命令以及为受管传输指定的 preSource、postSource、preDestination 和 postDestination 命令。 60
immediateShutdownTimeout 对于代理的立即关闭,您可以使用该属性来指定在强制关闭之前,代理等待完成传输的最长时间(秒)。
注: 请勿将此属性的值更改为小于缺省值 10 秒。 代理的立即关闭需要足够的时间来终止任何外部进程。 如果该属性的值太低,那么进程可能仍保持运行。

如果为该属性指定值 0,那么代理会等待所有未完成的传输停止。 如果为该属性指定的值无效,那么将使用缺省值。

10
表 5. 高级代理程序属性: 连接
属性名 描述 缺省值
javaLibraryPath 以绑定方式连接到队列管理器时, Managed File Transfer 必须有权访问 IBM MQ Java 绑定库。 缺省情况下, Managed File Transfer 会在 IBM MQ定义的缺省位置中查找绑定库。 如果绑定库位于其他位置,那么请使用该属性指定绑定库的位置。 None
表 6. 高级代理程序属性: Connect:Direct bridge
属性名 描述 缺省值
cdNode 必需属性 (如果要使用 Connect:Direct 网桥)。

用于将消息从 Connect:Direct 网桥代理传输到目标 Connect:Direct 节点的 Connect:Direct 节点的名称。 此节点是 Connect:Direct 网桥的一部分,而不是作为传输源或目标的远程节点。 有关更多信息,请参阅 Connect:Direct 网桥

没有缺省值
cdNodeHost 用于将文件从 Connect:Direct 网桥代理传输到目标节点 ( Connect:Direct 网桥节点) 的 Connect:Direct 节点的主机名或 IP 地址。

在大多数情况下, Connect:Direct 网桥节点与 Connect:Direct 网桥代理位于同一系统上。 在这些情况下,该属性的缺省值(本地系统的 IP 地址)正确。 如果系统具有多个 IP 地址,或者 Connect:Direct 网桥节点与 Connect:Direct 网桥代理位于不同的系统上,并且它们的系统共享文件系统,请使用此属性为 Connect:Direct 网桥节点指定正确的主机名。

如果您未设置 cdNode 属性,那么会忽略该属性。

本地系统的主机名或 IP 地址
cdNodePort 客户机应用程序用于与节点通信的 Connect:Direct 网桥节点的端口号。 在 Connect:Direct 产品文档中,此端口称为 API 端口。

如果您未设置 cdNode 属性,那么会忽略该属性。

1363
cimpDir 在将 Connect:Direct 网桥代理传输到目标 Connect:Direct 节点之前,在其运行的系统上临时存储文件的位置。

该属性指定了临时存储文件的目录的完整路径。 例如,如果 cdTmpDir设置为 /tmp,那么会将文件临时放置在 /tmp 目录中。

Connect:Direct 网桥代理和 Connect:Direct 网桥节点必须能够使用相同的路径名访问此参数指定的目录。 在规划 Connect:Direct 网桥的安装时,请考虑此问题。 如果可能,请在属于 Connect:Direct 网桥的 Connect:Direct 节点所在的系统上创建代理程序。 如果代理和节点不在同一个系统上,那么该目录必须在共享文件系统上,并且可从两个系统使用相同路径名进行访问。 有关受支持配置的更多信息,请参阅 Connect:Direct 网桥

如果您未设置 cdNode 属性,那么会忽略该属性。

此属性的值可以包含环境变量。

更多信息,请参阅 MFT 属性中环境变量的使用

value_of_java.io.tmpdir
/cdbridge-agentName
Windows 上:
value_of_java.io.tmpdir
\cdbridge-agentName
cdTrace 代理程序是否跟踪在 Connect:Direct 网桥代理及其 Connect:Direct 节点之间发送的数据。 该属性的值可以为 truefalse false
cdMaxConnectionRetries 在传输失败之前,对于尚未成功连接的文件传输,最大 Connect:Direct 连接尝试次数。 -1(无数次尝试)
cdMaxPartialWorkConnectionRetries 在传输失败之前,对于先前连接尝试已成功且传输工作已完成的文件传输,最大 Connect:Direct 连接尝试次数。 -1(无数次尝试)
cdMaxWaitForProcessEndStats 在进程结束后,在判定文件传输失败之前,等待 Connect:Direct 进程完成信息在 Connect:Direct 节点统计信息中变为可用的最长时间 (以毫秒为单位)。 通常,信息会立即可用,但在某些失败情况下,不会发布信息。 在这些情况下,等待由该属性指定的时间段后文件传输失败。 60000
cdAppName Connect:Direct 网桥代理用于连接到属于网桥的 Connect:Direct 节点的应用程序名称。 Managed File Transfer 当前版本,其中 当前版本 是产品的版本号。
cdNodeLocalPortRange 要用于 Connect:Direct 网桥代理与属于网桥的 Connect:Direct 节点之间的套接字连接的本地端口范围。 该值的格式为以逗号分隔的值列表或范围列表。

缺省情况下,操作系统选择本地端口号。

None
cdNodeProtocol Connect:Direct 网桥代理用于连接到属于网桥的 Connect:Direct 节点的协议。 有效值包括:
  • TCPIP
  • SSL
  • TLS
TCPIP
cdNodeKeystore 用于在 Connect:Direct 网桥代理与属于网桥的 Connect:Direct 节点之间进行安全通信的密钥库的路径。

如果未将 cdNodeProtocol 属性设置为 SSL 或 TLS,那么会忽略该属性。

对于 IBM WebSphere MQ 7.5或更高版本,此属性的值可以包含环境变量。

更多信息,请参阅 MFT 属性中环境变量的使用

None
cdNodeKeystoreType cdNodeKeystore 属性指定的密钥库的文件格式。 以下值有效:jks 和 pkcs12。

如果未将 cdNodeProtocol 属性设置为 SSL 或 TLS,那么会忽略该属性。

jks
cdNodeKeystoreCredentialsFile 包含 cdNodeKeystore 凭证的文件的路径。

此属性的值可以包含环境变量。

更多信息,请参阅 MFT 属性中环境变量的使用

[z/OS]有关创建身份验证凭据文件的详细信息,请参阅 z/OS 上的配置 MQMFTCredentials.xml

[AIX、Linux 和 Windows]有关该文件的位置和权限信息,请参阅配置 MQMFTCredentials.xml

[AIX、Linux 和 Windows]有关创建身份验证凭据文件的更多详情,请参阅 MFTIBM MQ 连接身份验证

cdNodeTruststore 用于在 Connect:Direct 网桥代理与作为网桥一部分的 Connect:Direct 节点之间进行安全通信的信任库的路径。

如果未将 cdNodeProtocol 属性设置为 SSL 或 TLS,那么会忽略该属性。

此属性的值可以包含环境变量。

更多信息,请参阅 MFT 属性中环境变量的使用

None
cdNodeTruststoreType cdNodeTruststore 属性指定的信任库的文件格式。 以下值有效:jks 和 pkcs12。

如果未将 cdNodeProtocol 属性设置为 SSL 或 TLS,那么会忽略该属性。

jks
cdNodeTruststoreCredentialsFile 包含 cdNodeTruststore 凭证的文件的路径。

此属性的值可以包含环境变量。

更多信息,请参阅 MFT 属性中环境变量的使用

[z/OS]有关创建身份验证凭证文件的详细信息,请参阅配置 MQMFTCredentials.xmlz/OS

[AIX、Linux 和 Windows]有关该文件的位置和权限信息,请参阅配置 MQMFTCredentials.xml

[AIX、Linux 和 Windows]有关创建身份验证凭据文件的更多详情,请参阅 MFTIBM MQ 连接身份验证

logCDProcess output0.log 文件的代理程序事件日志中记录的 Connect:Direct 进程日志记录级别。 该属性的值可以为 NoneFailuresAll None
表 7. 高级代理程序属性: 文件到消息,消息到文件代理程序
属性名 描述 缺省值
deleteTmpFileAfterRenameFailure 将该属性的值设置为 false 可确保在重命名操作失败的情况下不会从目标中删除临时文件。 在此情况下,已传输的数据会作为临时 (.part) 文件保留在目标中。 稍后您可以手动重命名此文件。 缺省情况下,该属性的值为 true。 该属性同时应用于“消息到文件”传输和“文件到文件”传输。 true
enableQueueInputOutput 缺省情况下,在传输过程中,代理不能读取源队列中的数据或将数据写入目标队列。 将该值设置为 true,可使代理执行文件到消息和“消息到文件”传输。 该属性的值可以为 truefalse false
enableSystemQueueInputOutput 指定代理是否可以读取或写入 IBM MQ 系统队列。 系统队列以限定词 SYSTEM 为前缀。
注: 系统队列由 IBM MQManaged File Transfer和其他应用程序用于传输重要信息。 更改该属性,可使代理访问这些队列。 如果启用该属性,那么请使用用户沙箱来限制代理可以访问的队列。
false
enableClusterQueueInputOutput 指定代理是否可以读取或写入 IBM MQ 集群队列。
请注意: You must specify the enableClusterQueueInputOutput agent property in addition to the enableQueueInputOutput property.
false
maxDelimiterMatchLength 在文件到消息传输过程中,用于将文本文件分割为多条消息的 Java 正则表达式可匹配的最大字符数。 5
maxInputOutputMessageLength 由代理从源队列读取或写入目标队列的消息的最大长度(字节)。 传输中源代理的 maxInputOutputMessageLength 属性确定可以从源队列消息读取的字节数。 传输中目标代理的 maxInputOutputMessageLength 属性确定可写入到目标队列消息的字节数。 如果消息的长度超出该属性的值,那么传输失败并产生错误。 此属性不会影响 Managed File Transfer 内部队列。 有关更改此属性的信息,请参阅 "与报文大小相关的 "MQ属性和 "MFT属性设置指南 1048576
monitorGroupRetryLimit 队列中仍存在消息组时,监视器再次触发“消息到文件”传输的最大次数。 触发“消息到文件”传输的次数由组中第一条消息的 MQMD 回退计数确定。

如果重新启动代理,那么即使触发传输的次数已超出 monitorGroupRetryLimit 的值,监视器仍会再次触发传输。 如果该行为导致触发传输的次数超出 monitorGroupRetryLimit 的值,那么代理会向其事件日志中写入一个错误。

如果对该属性指定值 -1,那么监视器会不限制次数地再次触发传输,直至不满足触发条件。

10
表 8. 高级代理程序属性: 常规
属性名 描述 缺省值
agentStatusPublishRateLimit 由于文件传输状态更改,代理重新发布其状态的最大速率(秒)。

如果将此属性设置为太小的值,那么 IBM MQ 网络的性能可能会受到负面影响。

30
agentStatusPublishRateMin 代理发布其状态的最小速率(秒)。 此值必须大于或等于 agentStatusPublishRateLimit 属性的值。 300
enableMemoryAllocationChecking

该属性的值可以为 truefalse。 它确定 Managed File Transfer Agent 是否检查是否有足够的内存可用于在接受传输之前运行传输。 源和目标代理上都会执行该检查。 如果没有足够的内存,将拒绝此传输。

在计算传输所需的内存时,将使用传输所需的最大内存。 所以,该值可能大于传输使用的实际内存。 因此,如果 enableMemoryAllocationChecking 属性设置为 true ,那么可以运行的并发传输数可能会减少。 仅当迂到 Managed File Transfer 因内存不足错误而失败的问题时,建议将此属性设置为 true。 可能使用大量内存的传输包括消息大小较大的“文件到消息”传输和“消息到文件”传输。

false
enableDetailedReplyMessages

该属性的值可以为 truefalse。 将此属性设置为 true 将使受管传输请求应答能够包含有关已传输文件的详细信息。 详细信息和格式与进度消息中发布到传输日志的相同,即 <transferSet> 元素。 有关更多信息,请参阅 文件传输日志消息格式

仅当受管传输请求指定详细回复信息为必需时,才会包含详细回复信息。 要指定这一要求,请在发送给源代理的 managedTransfer XML 请求信息的 <reply> 元素中设置 detailed 属性。 有关更多信息,请参阅 文件传输请求消息格式

可以为每个传输请求生成多条回复消息。 该数目等于传输的传输日志进度消息数目加 1(其中,第一条回复消息为简单 ACK 回复)。 除 ACK 回复消息外,所有消息中都包含详细信息,但总体传输结果仅包含在最后一条详细回复消息中。

true
enableUserMetadataOptions

该属性的值可以为 truefalse。 它确定是否可以将已知密钥用于新传输请求中的用户定义元数据,以提供更多传输选项。 这些已知键始终以前缀 com.ibm.wmqfte. 开头。 因此,当 enableUserMetadataOptions 属性设置为 true时,用户定义的使用不支持使用此前缀的键。 当 enableUserMetadataOptions 属性设置为 true时,当前支持的键如下所示:

com.ibm.wmqfte.insertRecordLineSeparator

用于文本传输。 当此键设置为 true时,指定在读取面向记录的文件 (例如 z/OS 数据集) 时,将在记录之间插入行分隔符。

当此键设置为 false时,指定在读取面向记录的文件时,不会在记录之间插入行分隔符。

com.ibm.wmqfte.newRecordOnLineSeparator

用于文本传输。 当此键设置为 true时,指定当写入面向记录的文件 (例如 z/OS 数据集) 时,行分隔符指示新记录并且不作为数据的一部分写入。

当此键设置为 false时,指定当写入面向记录的文件时,将像对待任何其他字符一样对待行分隔符 (即,无记录分隔符)。

com.ibm.wmqfte.convertLineSeparators

用于文本传输。 指定是否将行分隔符序列 CRLF 和 LF 转换为目标所需的行分隔符序列。 此转换目前只在以下情况下生效:

  • 如果用户定义的元数据键 com.ibm.wmqfte.newRecordOnLineSeparator 设置为 false ,并且传输到面向记录的文件。
  • 如果用户定义的元数据键 com.ibm.wmqfte.com.ibm.wmqfte.insertRecordLineSeparator 设置为 false ,并且传输来自面向记录的文件。
另请参阅 fteCreateTransfer: 启动新的文件传输
false
failTransferOnFirstFailure

该属性的值可以为 truefalse。 它允许将代理配置为在受管传输中的传输项失败时立即使该受管传输失败。

要启用此功能,必须对源代理和目标代理都应用 APAR IT03450 ,并且必须在源代理的 agent.properties 文件中将 failTransferOnFirstFailure 属性设为 true。 在目标代理上将此属性设置为 true 是可选的。

failTransferOnFirstFailure 属性设置为 true时,代理将正常开始处理受管传输请求。 但是,一个传输项失败,就会将受管传输标记为失败,不会处理更多传输项。 将采用以下方式处理在受管传输失败前成功处理的传输项:
  • 采用这些传输项的源处置。 例如,如果已将传输项的源处置设置为 delete,那么将删除源文件。
  • 编写的目标文件仍在目标文件系统上,不会将其删除。

如果 failTransferOnFirstFailure 属性未设置为 true ,并且受管文件传输包含多个文件,并且其中一个文件无法传输,例如,由于目标文件已存在并且覆盖属性设置为 error,那么源代理将继续并尝试传输请求中的任何剩余文件。

false
itemsPerProgressMessage

代理发布其下一条进度日志消息之前传输的文件数。 此属性控制在传输期间将进度日志消息发布到协调队列管理器的速率。

该属性可以设置的最大值为 1000。

注: 进度消息包含自上次发布进度消息以来传输的每个文件的相关信息。 增加此值将增加进度消息的大小,有可能会影响性能。
50
maxInlineFileSize

对于单个文件到文件或“文件到消息”传输,可以自动包含在初始传输请求消息中的最大文件大小(字节)。

您可以使用该属性提高传输速度,但如果将文件大小设置为过大的值,这可能会降低性能。 该属性的建议初始大小是 100KB,但建议彻底测试不同值,直到找到最适合系统的文件大小。

缺省情况下,将关闭此功能,或者通过将 maxInlineFileSize 属性设置为 0来关闭此功能。

0
[MQ 9.2.0 2020 年 7 月]
表 9。 高级代理程序属性: 高可用性
属性名 描述 缺省值
highlyAvailable

此属性在代理程序启动期间读取,如果设置为值 true,那么将以高可用性方式启动代理程序。 如果未指定属性,或者将值设置为 false ,那么代理程序将作为非高可用性代理程序启动。

false
standbyPollInterval

备用实例使用此属性来尝试按指定的时间间隔打开共享队列。

[MQ 9.2.4 2021 年 11 月][MQ 9.2.0.5 2022 年 2 月]IBM MQ 9.2.4IBM MQ 9.2.0 Fix Pack 5 ,所有实例也都使用这一属性来确定实例在与其代理队列管理器断开连接时,在尝试重新连接之间要等待多长时间。

将重复这些尝试,直到实例重新连接到其代理队列管理器,打开 SYSTEM.FTE.HA.<agent name> 队列 (如果它已将自身注册为备用实例) 或通过 fteStopAgent 命令停止为止。

5 秒
standbyStatusDiscardTime

此属性设置活动实例等待来自备用实例的状态发布的持续时间。

如果未从备用实例接收到任何发布,那么即使在此既成时间之后,活动实例也会从其备用实例列表中除去备用实例信息。

缺省值是 standbyStatusPublishInterval 属性的两倍,以便活动实例在从其列表中除去备用实例之前等待更长时间。

600 秒
standbyStatusExpiry

此属性设置将备用状态消息放入代理的命令队列的到期时间。 如果代理程序的活动实例未处理此消息,那么此消息将到期。

30 秒
standbyStatusPublishInterval

此属性用于设置备用实例发布其状态的频率。

300 秒
表 10. 高级代理程序属性: 输入/输出
属性名 描述 缺省值
doNotUseTempOutputFile

缺省情况下,代理将写入目标上的临时文件中,并在文件传输完成后,将该临时文件重命名为所需的文件名。 将该值设置为 true 会使代理对最终的目标文件进行直接写入。

[z/OS]z/OS 系统上,该行为不适用于顺序数据集,但适用于 PDS 数据集成员。

该属性的用于传输的值由目标代理定义。

false
enableMandatoryLocking 访问正常文件时, Managed File Transfer 将获取共享锁定以进行读取,并获取互斥锁定以进行写入。

[Windows]Windows 上,文件锁定只是一种建议。 当此属性设置为 true 时, Managed File Transfer 将强制文件锁定。 在 Windows 上,这意味着如果另一个应用程序打开一个文件,那么不会触发监视该文件,直至文件关闭。 涉及该文件的 Managed File Transfer 传输失败。

[UNIX]UNIX 类型的平台上,文件锁定是跨进程执行的。 对于 UNIX 类平台,设置该属性不会有任何影响。

此属性仅适用于正常 Managed File Transfer 代理程序。 Managed File Transfer 不支持文件服务器上的文件锁定机制。 因此,该属性对于协议网桥代理无效,因为协议网桥代理在传输文件时不会锁定文件服务器上的文件。

该属性的值可以为 truefalse

false
ioIdleThreadTimeout 线程关闭之前,文件系统输入/输出线程保持空闲的时间(毫秒)。

[MQ 9.2.1 2020 年 12 月][z/OS]MQ 9.2.0.302020 年 12 月]IBM MQ 9.2.1IBM MQ 9.2.0 Fix Pack 30 ,此属性不适用于在 IBM MQ for z/OS 上运行的代理。

10000
ioQueueDepth 排队的最大输入/输出请求数。 10
ioThreadPoolSize 可用的最大文件系统输入/输出线程数。 通常,每个传输都使用它自己的文件系统输入/输出线程,但是如果并行传输数超过此限制,那么会在传输之间共享文件系统输入/输出线程。

如果您认为您可能会经常具有比 ioThreadPoolSize 值更多的并行传输,那么您通过增加该值会看到改进,以便每个传输都有它自己的文件系统输入/输出线程。

10
textReplacementCharacterSequence 对于文本方式传输,如果不能将任何数据字节从源代码页转换到目标代码页,那么缺省行为为文件传输失败。

通过插入指定的字符值,将该属性设置为允许传输成功完成。 该属性值是单字符。 通常,问号 (?) 用于表示任何不可映射的字符。 例如,使用以下格式:textReplacementCharacterSequence=?,其中问号 (?) 是替换字符。 不能使用空格字符作为替换字符。

None
[MQ 9.2.4 2021 年 11 月]
表 11. 高级代理程序属性: 传输日志
属性名 描述 缺省值
[MQ 9.2.4 2021 年 11 月]logTransfer

传输事件采用 JSON 格式,并写入代理日志目录下的 transferlogn.json 文件,其中 n 的默认值为 0。 有关生成日志信息的示例,请参阅 LogTransfer 函数生成的输出

打开或关闭传输日志记录。
可能的值为:
info
可生成传输的简要日志信息。
这是缺省值。
moderate
启用传输的中间级别日志信息。
verbose
启用传输的详细日志信息。
关闭传输日志记录
info
[MQ 9.2.4 2021 年 11 月]logTransferFileSize 定义传输日志文件的最大大小 (以兆字节为单位) 20
[MQ 9.2.4 2021 年 11 月]logTransferFiles 定义在废弃最旧的文件之前保留的最大传输文件数。 5
表 12. 高级代理程序属性: 多通道支持
属性名 描述 缺省值
agentMultipleChannelsEnabled 将此属性设置为 true 将使 Managed File Transfer Agent 能够跨多个 IBM MQ 通道发送传输数据消息。 在某些情况下,设置该属性可提高性能。 但是,只有当存在显著的性能优势时,才应启用多通道支持。 在多个通道之间只发送置于 SYSTEM.FTE.DATA.destinationAgentName 队列的消息。 对所有其他消息的行为保持不变。
将此属性设置为 true时,还必须在下列其中一个主题中完成 IBM MQ 配置步骤以启用多通道支持:此外,还必须完成 Managed File Transfer 代理程序所需的标准 IBM MQ 配置步骤,这些步骤在 配置 MFT 以首次使用中进行了详细说明。

该属性的值可以为 truefalse

false
agentMessageBatchSize 配置多通道后,源代理以循环法为每个通道之间的传输发送数据消息。 该属性控制每次沿每个通道发送的消息数。 5
表 13. 高级代理属性: 多实例队列管理器
属性名 描述 缺省值
agentQMgrStandby 用于由 agentQMgr定义的多实例代理队列管理器的备用实例的客户机连接的主机名和端口号 (采用 IBM MQ CONNAME 格式)。 例如,host_name(port_number)

当代理程序检测到连接中断错误 (例如 MQRC 2009) 时,它会尝试连接到备用队列管理器。 代理连接到备用队列管理器后,代理将保持连接状态,直到备用队列管理器变为不可用为止。

没有缺省值
表 14. 高级代理程序属性: 进程控制器
属性名 描述 缺省值
agentQMgrRetryInterval 代理的进程控制器对队列管理器的可用性进行检查的时间间隔(秒)。 30
maxRestartCount 在 maxRestartInterval 属性值所指定的时间间隔内可发生的最大重新启动次数。 当超出该值时,代理的进程控制器会停止重新启动代理,而改为执行基于 maxRestartDelay 属性值的操作。 4
maxRestartInterval 代理的进程控制器度量代理重新启动的时间间隔(秒)。 如果该时间间隔内的重新启动次数超过 maxRestartCount 属性的值,那么代理的进程控制器会停止重新启动代理。 代理的进程控制器会改为执行基于 maxRestartDelay 属性值的操作。 120
maxRestartDelay 确定代理的进程控制器在代理重新启动的速率超过 maxRestartCount 和 maxRestartInterval 属性值时的行为。 如果指定小于或等于零的值,那么代理的进程控制器会停止。 如果指定大于零的值,那么这即是重置代理的进程控制器持有的重新启动历史记录信息并重新启动代理之前等待的秒数。 -1
表 15. 高级代理程序属性: 协议网桥
属性名 描述 缺省值
protocolBridgeCredentialConfiguration 该属性的值作为字符串传入由 protocolBridgeCredentialExitClasses 指定的出口类的 initialize() 方法。 空值
protocolBridgeCredentialExitClasses 指定实现了协议网桥凭证用户出口例程的类的逗号分隔列表。 有关更多信息,请参阅 使用出口类映射文件服务器的凭证 没有缺省值。
protocolBridgeDataTimeout

协议网桥代理等待建立通往 FTP 服务器的数据连接或通过已经建立的连接接收来自 FTP 服务器的数据的超时时间(以毫秒为单位)。 如果将此属性值设置为 0,协议网桥代理将会无限期等待。 如果到达超时时间,则协议网桥代理将关闭通往 FTP 服务器的任何现有数据连接,并在恢复当前传输之前尝试建立新数据连接。 如果建立新数据连接的尝试失败,那么当前传输也会失败。

0
protocolBridgeLogoutBeforeDisconnect 指定协议网桥代理在关闭 FTP 会话并断开连接之前是否会使用户从文件服务器注销。 如果将此属性设置为 true,协议网桥代理将向文件服务器发出 FTP QUIT 命令。 false
protocolBridgePropertiesConfiguration

作为某个网桥属性传递到由 protocolBridgeServerPropertiesExitClasses 属性指定的出口类的 initialize() 方法。

没有缺省值
protocolBridgePropertiesExitClasses 指定实现了协议网桥服务器属性用户出口例程的类的逗号分隔列表。 有关更多信息,请参阅 ProtocolBridgePropertiesExit2: 查找协议文件服务器属性 没有缺省值
表 16. 高级代理程序属性: 协议网桥代理日志记录
属性名 描述 缺省值
agentLog 用于在协议网桥代理和 FTP/SFTP/FTPS 文件服务器之间启用或禁用 FTP 命令和响应的日志记录的键值对组件及操作。

例如:

agentLog=on
打开所有组件的日志记录
agentLog=off
关闭所有组件的日志记录
agentLog=ftp=on, sftp=on, ftps=off
打开 FTP 和 SFTP 的日志记录,并关闭 FTPS 的日志记录
没有缺省值
agentLogFileSize 定义捕获文件的最大大小(兆字节)。 与常规跟踪缺省文件大小的缺省值相同。 20
agentLogFiles 定义在废弃最旧的文件之前保留的最大捕获文件数。 [MQ 9.2.4 2021 年 11 月]
  • agentLogFiles 代理属性 的缺省值已从 10 更改为 5。 这意味着从 IBM MQ 9.2.4 开始,如果设置了缺省值,那么最多可以有 5 个协议网桥代理事件日志文件,从 agentevent0.logagentevent4.log。 但是,如果需要,可以更改此值。
  • 如果代理程序是从 IBM MQ 9.2.4之前的版本迁移的,那么应手动删除 agentevent5.logagentevent9.log 文件 (如果存在)。
  • 但是,每个日志文件的大小仍为 20 MB。

[MQ 9.2.4 2021 年 11 月]来自 IBM MQ 9.2.4 ,默认值为 5。

IBM MQ 9.2.4之前,缺省值为 10。

agentLogFilter 缺省情况下,捕获与代理连接到的所有 FTP 服务器的通信。
例如:
  • 对主机/IP 地址进行过滤
    host=ftpprod.ibm.com, ftp2.ibm.com
    host=9.182.*
  • 根据元数据进行过滤
    metadata="outbound files to xyz corp"
*
表 17. 高级代理程序属性: 队列
属性名 描述 缺省值
[MQ 9.2.0 2020 年 1 月]dynamicQueuePrefix 此属性定义创建临时动态队列时要使用的前缀。 WMQFTE.*
[MQ 9.2.0 2020 年 1 月]modelQueueName 此属性定义创建临时动态队列时要使用的模块队列的名称。 SYSTEM.DEFAULT.MODEL.QUEUE
publicationMDUser 与协议队列管理器发布的已发送消息关联的 MQMD 用户标识。 如果未设置此属性,那么将根据用于设置 MQMD 用户标识的 IBM MQ 规则来设置 MQMD 用户标识。 没有缺省值
表 18. 高级代理程序属性: 资源监视
属性名 描述 缺省值
monitorFilepathPlatformSeparator 指定是否在 $FILEPATH 变量中使用特定于平台的路径分隔符。 true 值表示使用特定于平台的路径分隔符。 false 值表示在所有平台上都使用 UNIX 样式的正斜杠 (/) 路径分隔符。 true
monitorMaxResourcesInPoll 指定在每个轮询时间间隔内触发的最大资源监视数。 例如,如果将监视模式指定为 *.txt,将轮询时间间隔指定为 10 秒并将 monitorMaxResourcesInPoll 属性设置为 10,那么 monitorMaxResourcesInPoll 属性会限制代理每个轮询时间间隔最多触发 10 个匹配项。 在以后的轮询时间间隔内会触发 10 个限制以上的匹配资源。

此外,您还可以将monitorMaxResourcesInPoll属性与 "fteCreateMonitor命令上匹配的 "-bs参数结合使用,例如,限制每个轮询间隔只能触发一次传输。

小于或等于零的值表示在轮询时间间隔内触发的监视资源数不受限制。
-1
monitorReportTriggerFail 指定是否将在监视器中检测到的环境和配置中的失败情况作为日志消息报告给 SYSTEM.FTE 主题。 true 值记录消息。 false 值不记录消息。 true
monitorReportTriggerNotSatisfied 指定不满足条件的触发器是否向包含详细信息的 SYSTEM.FTE 主题发送日志消息。 true 值记录消息。 false 值不记录消息。 false
monitorReportTriggerSatisfied 指定满足条件的触发器是否向包含详细信息的 SYSTEM.FTE 主题发送日志消息。 true 值记录消息。 false 值不记录消息。 false
monitorSilenceOnTriggerFailure 不再报告失败之前,资源监视器触发器的连续失败数。 5
monitorStopOnInternalFailure 资源监视器将其状态更改为停止之前,资源监视器的连续内部 FFDC 条件数。 10
表 19. 高级代理程序属性: 根目录
属性名 描述 缺省值
commandPath 指定可调用命令的路径集,可以通过使用一下方法之一:
  • 代理程序 Ant fte: call Ant taskfte: filecopyfte: filemove 任务
  • 在传递到代理程序的 XML 消息中,使用其中一个受支持的 Managed File Transfer Agent 命令 XML 模式 (例如, managedCall 或 managedTransfer)。

有关 commandPath 属性值的有效语法的信息,请参阅 commandPath MFT property

重要信息: 设置此属性时请非常小心,因为可以从能够向代理程序发送命令的远程客户机系统有效地调用其中一个指定 commandPaths 中的任何命令。 为此,缺省情况下,在指定 commandPath 时:
  • 代理在启动时会配置任何现有代理沙箱,从而将所有 commandPath 目录自动添加到拒绝访问传输的目录列表。
  • 当代理程序启动时,将更新任何现有用户沙箱,以便将所有 commandPath 目录 (及其子目录) 作为 <exclude> 元素添加到 <read> <write> 元素。
  • 如果未将代理配置为使用代理沙箱或用户沙箱,那么在代理启动时会创建一个新的代理沙箱,其中将 commandPath 目录指定为拒绝的目录。

对于 IBM WebSphere MQ 7.5或更高版本,此属性的值可以包含环境变量。

更多信息,请参阅 MFT 属性中环境变量的使用

您可以将 addCommandPathToSandbox 属性设置为 false 以覆盖此缺省行为,从而兼容以下发行版:
  • IBM WebSphere MQ File Transfer Edition。 请注意, IBM WebSphere MQ File Transfer Edition (FTE) 不再是受支持的产品。 要从 FTE 迁移到 IBM MQ中的 Managed File Transfer 组件,请参阅 迁移 Managed File Transfer
  • IBM WebSphere MQ 7.5.0 Fix Pack 1 Managed File Transfer 组件 (或更早版本)。
  • 未设置安装属性 enableFunctionalFixPack=7502 的安装上的 IBM WebSphere MQ 7.5.0 Fix Pack 2 Managed File Transfer 组件 (或更高版本)。
重要信息: 请注意,此覆盖有效地使客户机能够将任何命令传输到代理程序系统并调用该命令,因此应极为谨慎地使用此命令。
None - 不能调用任何命令
addCommandPathToSandbox 指定是否应将 commandPath 属性指定的目录(及其所有子目录)添加到:
  • 适用于现有代理沙箱的拒绝的目录。
  • 对于已定义的任何用户沙箱,<read><write> 元素的 <exclude>元素。
  • 新的代理沙箱,如果没有为代理配置一个代理沙箱或者一个或多个用户沙箱。
这可兼容以下发行版:
  • IBM WebSphere MQ File Transfer Edition。 请注意, IBM WebSphere MQ File Transfer Edition (FTE) 不再是受支持的产品。 要从 FTE 迁移到 IBM MQ中的 Managed File Transfer 组件,请参阅 迁移 Managed File Transfer
  • IBM WebSphere MQ 7.5.0 Fix Pack 1 Managed File Transfer 组件 (或更早版本)。
  • 未设置安装属性 enableFunctionalFixPack=7502 的安装上的 IBM WebSphere MQ 7.5.0 Fix Pack 2 Managed File Transfer 组件 (或更高版本)。
有关更多信息,请参阅 commandPath MFT 属性
True
additionalWildcardSandboxChecking 指定是否对使用用户或代理沙箱配置的代理的通配符传输进行额外检查,以便限制代理可以将文件传输到以及从中传输文件的位置。

将该属性设置为 true 时,会启用额外检查。 如果传输请求尝试读取进行通配符文件匹配的已定义沙箱外部的位置,那么传输将失败。 如果一个传输请求中存在多个传输,并且其中一个请求因尝试读取沙箱外部的位置而失败,那么整个传输也将失败。 如果检查失败,那么会在错误消息中给出失败原因 (请参阅 通配符传输的其他检查)。

如果忽略此属性或者将其设置为 false,那么将不会对通配符传输进行额外检查。

None
sandboxRoot 指定使用沙箱时包含和排除的根路径集。 有关此功能的信息,请参阅 使用 MFT 代理程序沙箱

使用特定于平台的路径分隔符分隔路径。 路径以惊叹号 (!) 字符为前缀以表示从沙箱排除路径。 当您要在包含的根路径下排除子目录时,该功能很有用。

sandboxRoot 属性在协议网桥代理上不受支持。

您不能同时指定 sandboxRoot 属性和 userSandboxes 属性。

此属性的值可以包含环境变量。

更多信息,请参阅 MFT 属性中环境变量的使用

None - 没有沙箱
transferRoot 为代理指定的相对路径的缺省根目录。

此属性的值可以包含环境变量。

更多信息,请参阅 MFT 属性中环境变量的使用

启动代理进程的用户的主目录。
transferRootHLQ 为代理指定的非标准数据集的缺省 HLQ(用户标识) 启动代理进程的用户的用户名。
userSandboxes 根据请求传输的用户的 MQMD 用户名,限制可以传输文件的文件系统区域。 有关更多信息,请参阅 使用 MFT 用户沙箱

userSandboxes 属性在协议网桥代理上不受支持。

您不能同时指定 sandboxRoot 属性和 userSandboxes 属性。

false
表 20. 高级代理程序属性: 调度程序属性
属性名 描述 缺省值
maxSchedulerRunDelay 代理等待检查已调度传输的最大时间间隔(分钟)。 指定一个正整数以启用该属性。 有关可能要使用此属性的原因的更多信息,请参阅 在调度的文件传输未运行或延迟时要执行的操作

因为代理可能在调度的传输将要运行时从其命令队列读取命令,因此在启动调度的传输之前,可能存在额外的延迟。 在此情况下,调度程序将在该命令完成后立即运行。

-1
表 21. 高级代理程序属性: 安全性
属性名 描述 缺省值
[MQ 9.2.0 2020 年 7 月]agentCredentialsKeyFile 包含加密凭证时使用的凭证密钥的文件的名称。 没有缺省值的字符串属性。
agentQMgrAuthenticationCredentialsFile 包含 MQ 连接凭证的文件的路径。

[z/OS]有关创建身份验证凭据文件的详细信息,请参阅 z/OS 上的配置 MQMFTCredentials.xml

[AIX、Linux 和 Windows]有关该文件的位置和权限信息,请参阅在多平台上配置 MQMFTCredentials.xml

[AIX、Linux 和 Windows]有关创建身份验证凭据文件的更多详情,请参阅 MFTIBM MQ 连接身份验证

authorityChecking 指定是否启用 限制 MFT 代理操作的用户权限 中描述的安全功能。

inquire 许可权是对所有代理权限队列的必需许可权。

false
logAuthorityChecks output0.log 文件的代理事件日志中记录的权限检查记录的级别。 该属性的值可以为 NoneFailuresAll None
userIdForClientConnect 通过客户机连接流向 IBM MQ的用户标识。 如果指定了 java ,那么 JVM 报告的用户名将作为 IBM MQ 连接请求的一部分流动。 该属性的值可以为 Nonejava None
表 22. 高级代理程序属性: SSL/TLS
属性名 描述 缺省值
agentSslCipherSpec 指定在代理和代理队列管理器之间交换数据时,使用的协议、散列算法和加密算法,以及加密密钥中使用的位数。

agentSslCipherSpec 的值为 CipherSpec 名称。 该 CipherSpec 名称与代理队列管理器通道中使用的 CipherSpec 名称相同。 Java的 "IBM MQ类中的 SSL/TLS "CipherSpecs和 "CipherSuites"和 "JMS 的 "IBM MQ类中的 SSL/TLS "CipherSpecs和 "CipherSuites"中包含有效的 "CipherSpec名称列表。

agentSslCipherSpec 类似于 agentSslCipherSuite。 如果指定了 agentSslCipherSuite 和 agentSslCipherSpec,那么使用 agentSslCipherSpec 的值。

None
agentSslCipherSuite 指定代理程序和代理程序队列管理器交换数据方式的 SSL 方面。

agentSslCipherSuite 的值为 CipherSuite 名称。 CipherSuite 名称将映射到代理队列管理器通道中使用的 CipherSpec 名称。 更多信息,请参阅CipherSuite和CipherSpec名称映射

agentSslCipherSuite 类似于 agentSslCipherSpec。 如果指定了 agentSslCipherSuite 和 agentSslCipherSpec,那么使用 agentSslCipherSpec 的值。

None
agentSslPeerName 指定必须与代理队列管理器提供的名称相匹配的专有名称框架。 专有名称用于检查连接时队列管理器提供的标识证书。 None
agentSslTrustStore 指定代理程序信任的证书的位置。 agentSslTrustStore 的值为文件路径。 如果它是 Windows 文件路径,那么反斜杠字符 (\) 必须转义为 (\\)。

IBM WebSphere MQ 7.5开始,此属性的值可以包含环境变量。

None
agentSslKeyStore 指定代理程序专用密钥的位置。 agentSslKeyStore 的值为文件路径。 如果它是 Windows 文件路径,那么必须对反斜杠字符 (\) 进行转义 (\\)。 仅当代理队列管理器需要客户机认证时,才需要此属性。

IBM WebSphere MQ 7.5开始,此属性的值可以包含环境变量。

None
agentSslFipsRequired 指定要在代理级别启用 FIPS 支持。 该属性的值可以为 truefalse。 有关更多信息,请参阅 MFT 中的 FIPS 支持 false
agentSslKeyStoreType 您要使用的 SSL 密钥库的类型。 支持 JKS 和 PKCS#12 密钥库。 该属性的值可以为 jkspkcs12 jks
agentSslKeyStoreCredentialsFile 包含 agentSslKeyStore 凭证的文件的路径。

IBM WebSphere MQ 7.5开始,此属性的值可以包含环境变量。

此属性的缺省值为 %USERPROFILE%\MQMFTCredentials.xml (在 Windows 上) 和 $HOME/MQMFTCredentials.xml (在其他平台上)。
agentSslTrustStoreType 您要使用的 SSL 密钥库的类型。 支持 JKS 和 PKCS#12 密钥库。 该属性的值可以为 jkspkcs12 jks
agentSslTrustStoreCredentialsFile 包含 agentSslTrustStore 的凭证的文件的路径。

IBM WebSphere MQ 7.5开始,此属性的值可以包含环境变量。

此属性的缺省值为 %USERPROFILE%\MQMFTCredentials.xml (在 Windows 上) 和 $HOME/MQMFTCredentials.xml (在其他平台上)。
表 23. 高级代理程序属性: 超时
属性名 描述 缺省值
maxTransferNegotiationTime 传输等待目标代理完成协商的最长时间(毫秒)。 如果在这期间未完成协商,那么传输会进入再同步状态,并允许其他传输(如果可用)运行。

在源或目标代理负载过重的情况下,可能是针对代理的缺省值太低以致无法足够快速地响应协商请求。 当源代理定义了大量资源监视器或其资源监视器正在监视包含大量文件的目录时,最有可能发生此情况。 但是,在向代理提交大量传输请求时,也可能会发生此情况。 在此类情况下,可能需要将该属性的值增加至 200,000 或更大值。

30 000
recoverableTransferRetryInterval 检测可恢复传输错误和尝试恢复传输之间等待的时间(毫秒)。 60 000
senderTransferRetryInterval 由于目标已运行最大数量的传输而重试拒绝的传输之前等待的时间(毫秒)。 最小值为 1000。 30 000
transferAckTimeout 发出重试之前,传输等待来自另一端的应答或数据的超时时间(毫秒)。 这是高级属性,对于大多数 Managed File Transfer 配置,不需要修改其值。

只要收到完整的数据窗口,就向发送代理发送来自接收代理的应答。 对于带宽受到限制或不可靠的网络以及大的 agentWindowSize 和 agentChunkSize 设置,缺省值可能不够长。 这可能会导致代理之间不必要的数据重新传输。 因此,增加该值可能是有益的,可能会降低由于网络速度缓慢而使传输进入恢复方式的可能性。

60 000
transferAckTimeoutRetries 代理放弃并将传输移至恢复状态之前,在没有响应的情况下,传输的最大应答重试次数。 5
xmlConfigReloadInterval 运行时期间代理重新载入 XML 配置文件之间的时间间隔(秒)。 为防止代理在运行时期间重新载入 XML 配置文件,请将该属性设置为 -1。 该属性将影响以下 XML 配置文件:
  • ConnectDirectCredentials.xml
  • ConnectDirectNodeProperties.xml
  • ConnectDirectProcessDefinitions.xml
  • ProtocolBridgeCredentials.xml
  • ProtocolBridgeProperties.xml
  • UserSandboxes.xml
30
表 24. 高级代理程序属性: 跟踪和日志记录
属性名 描述 缺省值
javaCoreTriggerFile 代理监视的文件位置的完整路径。 如果文件存在于指定位置,那么代理程序启动将触发 Javacore。 启动代理程序后,如果在此位置更新文件,那么代理程序将再次触发 Javacore 文件。
单独的线程会每 30 秒轮询该文件以检查是否已创建或更新文件。 如果自上次轮询之后已创建或更新文件,那么代理将在以下某个目录中生成 Javacore 文件:
  • AIX® and Linux®: MQ_DATA_PATH/mqft/logs/coordination_qmgr_name/agents/agent_name
  • Windows: MQ_DATA_PATH\mqft\logs\coordination_qmgr_name\agents\agent_name
指定该属性后,代理会在启动时输出以下消息:
BFGAG0092I The <insert_0> file will be used to
request JVM diagnostic information.

此属性的值可以包含环境变量。

更多信息,请参阅 MFT 属性中环境变量的使用

None
跟踪

启动代理程序时要使用的跟踪规范。 这是以逗号分隔的类和/或包,等于字符和跟踪级别的列表。

例如,要从代理程序启动开始跟踪 com.ibm.wmqfte.agent.Agent 类和 com.ibm.wmqfte.commandhandler 包中的类,请将以下条目添加到 agent.properties 文件中:
trace=com.ibm.wmqfte.agent.Agent,com.ibm.wmqfte.commandhandler=all
您可以在冒号分隔的列表中指定多个跟踪规范。 例如
trace=com.ibm.wmqfte.agent.Agent=all:com.ibm.wmqfte.commandhandler=moderate
特殊跟踪规范 =all 用于跟踪代理程序以及用于处理与代理队列管理器的所有通信的 Java 消息队列接口 (JMQI)。 要启用此功能,请将以下条目添加到 agent.properties 文件:
trace==all
除非 IBM 支持代表另有指定,否则请使用如下跟踪规范 com.ibm.wmqfte=all :
trace=com.ibm.wmqfte=all
None
outputLogFiles 保存的 output.log 文件的总数。 该值适用于代理的进程控制器以及代理自身。 5
outputLogSize 将输出合并到下一个文件之前,每个 output.log 文件的最大大小 (MB)。 该值适用于代理的进程控制器以及代理自身。 1
outputLogEncoding 写入 output.log 文件时,代理使用的字符编码。 正在运行代理的平台的缺省字符编码。
traceFiles 保存的跟踪文件的总数。 该值也适用于代理的进程控制器和代理自身。 5
traceSize 将跟踪合并到下一个文件之前,每个跟踪文件的最大大小 (MB)。 该值适用于代理的进程控制器以及代理自身。 20
traceMaxBytes 对在跟踪文件中输出的消息数据数量的限制。 4096 字节
logTransferRecovery 如果将该属性的值设置为 true,每当传输进入恢复状态时,都会向 output0.log 文件中代理的事件日志报告诊断事件。

对于 IBM MQ 9.0.0.0 和更高版本,缺省值为 true。

logCapture 捕获提交给该代理的传输请求消息和代理发布到协调队列管理器的日志消息。 在调试传输问题时,捕获的这些消息可能会很有帮助。 捕获的消息存储在代理日志目录中名为 capture?.log 的文件。 ? 是数字值。 包含数字 0 的文件保存最新捕获的消息。 false
logCaptureFileSize 定义捕获文件的最大大小(兆字节)。 10
logCaptureFiles 定义在废弃最旧的文件之前保留的最大捕获文件数。 10
logCaptureFilter 代理用于和消息主题名称匹配的 Java 正则表达式。 仅捕获那些与正则表达式匹配的消息。 .* (match all)
resourceMonitorLog 用于开启或关闭日志记录的资源监视器和操作的键值对。
可能的值为:
  • info
  • moderate
  • verbose
例如:
  • resourceMonitorLog=MON1,MON2=info:MON3=off

    开启 MON1MON2 的日志记录,并关闭 MON3 的日志记录。

  • resourceMonitorLog=info

    对所有资源监视器开启 info 级别日志记录。

资源监视器日志将写入名为 resmoneventN.log的文件,其中 N 代表数字; 例如, resmonevent0.log
注意: 代理程序的所有资源监视器都写入同一日志文件。
请参阅 日志记录 MFT 资源监视器 以获取更多信息。
info
resourceMonitorLogFileSize 定义捕获文件的最大大小(兆字节)。 20
resourceMonitorLogFiles 定义在废弃最旧的文件之前保留的最大捕获文件数。
[MQ 9.2.4 2021 年 11 月]
  • resourceMonitorLogFiles 代理属性 的缺省值已从 10 更改为 5。 这意味着,从 IBM MQ 9.2.4 开始,如果设置了缺省值,那么最多可以有 5 个资源监视器事件日志文件,从 resmonevent0.logresmonevent4.log。 但是,如果需要,可以更改此值。
  • 如果代理程序是从 IBM MQ 9.2.4之前的版本迁移的,那么应手动删除 resmonevent5.logresmonevent9.log 文件 (如果存在)。
  • 但是,每个日志文件的大小仍为 20 MB。

[MQ 9.2.4 2021 年 11 月]来自 IBM MQ 9.2.4 ,默认值为 5。

IBM MQ 9.2.4之前,缺省值为 10。

表 25. 高级代理属性: 传输限制
属性名 描述 缺省值
maxDestinationTransfers 目标代理在任意时间点处理的最大并行传输数。 向代理提交的每个传输请求都会针对该总数计数,而与满足该请求的传输文件数无关。 这意味着传输一个文件的传输请求与传输 10 个文件的传输请求的计数方法相同。

如果目标代理达到 maxDestinationTransfers 属性指定的限制,那么此代理会将传输排队。

如果代理属性值 maxSourceTransfers + maxDestinationTransfers + maxQueuedTransfers 的总和 超出状态存储队列 (SYSTEM.FTE.STATE.agent name) 的 MAXDEPTH 设置值,那么不启动代理。

25 (针对除 Connect:Direct 以外的所有代理程序)

5 (针对 Connect:Direct 网桥代理)

maxFilesForTransfer 单个受管传输允许的最大传输项数。 如果受管传输包含比 maxFilesForTransfer 的值更多的项,那么受管传输将失败并且不会处理任何传输项。

设置此属性可防止您由于传输请求错误而意外传输过多文件,例如,如果用户意外指定了根目录/在 LinuxAIX 系统上的传输。

5000
maxSourceTransfers 源代理在任何时间点处理的最大并行传输数。 向代理提交的每个传输请求都会针对该总数计数,而与满足该请求的传输文件数无关。 这意味着传输一个文件的传输请求与传输 10 个文件的传输请求的计数方法相同。

如果目标代理达到 maxSourceTransfers 属性指定的限制,那么源代理会将传输排队。

如果代理属性值 maxSourceTransfers + maxDestinationTransfers + maxQueuedTransfers 的总和 超出状态存储队列 (SYSTEM.FTE.STATE.agent name) 的 MAXDEPTH 设置值,那么不启动代理。

25 (对于除 Connect:Direct 网桥代理以外的所有代理)

5 (针对 Connect:Direct 网桥代理)

maxQueuedTransfers 在代理拒绝新的传输请求之前,源代理可排队的暂挂传输的最大数目。 您可以设置该属性,以便不管满足还是超出 maxDestinationTransfers 和 maxSourceTransfers 的限制,都接受您此时提交的任何新传输请求,将其排队,并在稍后执行。

排队的传输请求的处理顺序取决于其优先级及排队的时间长短。 首先,会选择旧优先级和高优先级暂挂的传输。 队列中具有低优先级但排队时间较长的传输优先于较新且具有较高优先级的传输。

如果代理属性值 maxSourceTransfers + maxDestinationTransfers + maxQueuedTransfers 的总和 超出状态存储队列 (SYSTEM.FTE.STATE.agent name) 的 MAXDEPTH 设置值,那么不启动代理。

1000
表 26. 高级代理程序属性: 传输恢复超时
属性名 描述 缺省值
transferRecoveryTimeout 设置时间量(以秒为单位),在此期间,源代理会一直尝试恢复停止的文件传输。
未设置此属性时,代理的缺省行为是一直重试,直至成功恢复传输。 您可以为传输恢复超时属性设置以下值:
-1
代理继续尝试恢复停止的传输,直至传输完成。 使用此选项相当于未设置属性时代理的缺省行为。
0
一旦进入恢复,代理将停止文件传输。
>0
在由指定正整数值设置的时间量(以秒为单位)内,代理继续尝试恢复停止的传输。 例如,transferRecoveryTimeout=21600 表示代理会在进入恢复后六小时内一直尝试恢复传输。 此参数的最大值为 999999999.
-1
表 27. 高级代理程序属性: 用户出口例程
属性名 描述 缺省值
agentForceConsistentPathDelimiters 将提供给传输出口的源文件和目标文件信息中的路径定界符强制为 UNIX 样式: 正斜杠 (/)。 有效选项为 truefalse false
destinationTransferEndExitClasses 指定一个实现目标传输用户出口例程的以逗号分隔的类列表。 没有缺省值
destinationTransferStartExitClasses 指定一个实现目标传输开始用户出口例程的以逗号分隔的类列表。 没有缺省值
exitClassPath 指定一个特定于平台、字符分隔的目录列表,充当用户出口例程的类路径。

在此类路径中的任何条目之前搜索代理程序出口目录。

代理的 exits 目录
exitNativeLibraryPath 指定一个特定于平台、字符分隔的目录列表,充当用户出口例程的本机库路径。 代理的 exits 目录
ioMaxRecordLength

面向记录的文件支持的最大记录长度(字节)。 Managed File Transfer 可以支持写入具有任何记录长度的面向记录的文件。 但是,较大的记录长度可能会导致内存不足错误,因此为了避免这些错误,缺省情况下最大记录长度限制为 64 K。 从面向记录的文件中读取时,整个记录必须适合单个传输块,因此记录长度还受到传输块大小的限制。 该属性仅用于 I/O 用户出口的面向记录文件。

64KB
monitorExitClasses 指定实现了监视器出口例程的类的逗号分隔列表。 有关更多信息,请参阅 MFT 资源监视器用户出口 没有缺省值
protocolBridgeCredentialExitClasses 指定实现了协议网桥凭证用户出口例程的类的逗号分隔列表。 有关更多信息,请参阅 使用出口类映射文件服务器的凭证 没有缺省值。
sourceTransferEndExitClasses 指定一个实现源传输结束出口例程的以逗号分隔的类列表。 没有缺省值
sourceTransferStartExitClasses 指定一个实现源传输开始出口例程的以逗号分隔的类列表。 没有缺省值
IOExitClasses 指定实现了 I/O 用户出口例程的类的逗号分隔列表。 仅列出实现了 IOExit 接口的类,即不列出实现了其他 I/O 用户出口接口的类,例如,IOExitResourcePath 和 IOExitChannel。 有关更多信息,请参阅 使用 MFT 传输 I/O 用户出口 没有缺省值。
表 28. 高级代理程序属性: IBM MQ 客户机压缩
属性名 描述 缺省值
agentDataCompression 仅针对客户机连接支持此属性。

要与远程 IBM MQ 服务器协商的文件数据传输的压缩类型的逗号分隔列表。 您可以在以下主题中找到有关这些压缩类型的信息: 消息数据压缩列表

检查值的有效性, 然后按属性的出现顺序传递到代理客户机通道。 然后, IBM MQ 客户机将处理此客户机通道与远程服务器通道之间的协商,以在这两个通道上的压缩属性之间查找匹配的最低公共分母。 如果未发现匹配项,那么始终选择 MQCOMPRESS_NONE。

MQCOMPRESS_NONE
agentHeaderCompression 仅针对客户机连接支持此属性。

要与远程 IBM MQ 服务器协商的头数据传输的压缩类型的逗号分隔列表。 接受的值为 MQCOMPRESS_NONE 或 MQCOMPRESS_SYSTEM。 有关这些压缩类型的信息,请参阅以下主题:HdrCompList[2] (MQLONG)

检查值的有效性, 然后按属性的出现顺序传递到代理客户机通道。 然后, IBM MQ 客户机将处理此客户机通道与远程服务器通道之间的协商,以在这两个通道上的压缩属性之间查找匹配的最低公共分母。 如果未发现匹配项,那么始终选择 MQCOMPRESS_NONE。

MQCOMPRESS_NONE
[z/OS]
表 29. 高级代理程序属性: 特定于 z/OS的
属性名 描述 缺省值
adminGroup 安全管理器组。 该组成员可以:
  • 使用 fteStartAgent 命令启动代理。
  • 使用 fteStopAgent 命令停止代理。
  • 使用 fteSetAgentTraceLevel 命令打开或关闭代理程序的跟踪。
  • 使用 fteSetAgentLogLevel 命令打开或关闭代理程序的日志
  • 通过运行指定了 -d 参数的 fteShowAgentDetails 命令来显示本地代理程序的详细信息。
定义安全管理器组(例如,MFTADMIN),然后将已启动任务用户标识和管理员 TSO 标识添加到该组。 编辑代理属性文件并将 adminGroup 属性设置为该安全管理器组的名称。
adminGroup=MFTADMIN
None
bpxwdynAllocAdditionalOptions Managed File Transfer 使用 BPXWDYN 文本接口来创建和打开 z/OS 数据集。 缺省情况下,当 BPXWDYN 用于数据集分配时, Managed File Transfer 将确保在可能的情况下安装数据设备 (基于磁盘的数据集不需要数据设备,但磁带数据集需要数据设备)。 由于某些环境可能不支持选项,因此请使用该属性更改此行为。 另外,传输到数据集时, 还可以在命令行指定 BPXWDYN 的选项;这些选项是对该属性指定的那些选项的补充。

使用 agent.properties 文件中的 bpxwdynAllocAdditionalOptions 属性时,不得指定某些 BPXWDYN 选项。 有关这些属性的列表,请参阅 不能用于 MFT 的 BPXWDYN 属性

缺省值如下:
  • 对于 z/OS V1R8 和更高版本,为 MOUNT
armELEMTYPE

可选属性。 如果 Automatic Restart Manager (ARM) 将代理配置为重新启动,那么请将此属性设置为关联的 ARM 策略中指定的 ARM ELEMTYPE 参数值。 对于代理,请将 ELEMTYPE 设置为 SYSBFGAG。

未设定
armELEMENT

可选属性。 如果 Automatic Restart Manager (ARM) 将代理配置为重新启动,那么请将此属性设置为关联的 ARM 策略中指定的 ARM ELEMENT 参数值。 您可以将 ELEMENT 值设置为与代理名称相对应。

未设定
表 30. 高级代理程序属性: 其他属性
属性名 描述 缺省值
[z/OS]legacyXMLMessageMQMDFormat [z/OS]
Managed File Transfer 代理生成的 XML 消息 (例如,日志和传输进度消息) 现在将发送到具有空白 MQMD 格式字段的队列。 先前版本的产品将 MQMD 格式字段设置为 MQSTR(文本消息字符串)。 将此属性设置为 true 将使代理生成的 Managed File Transfer XML 消息能够发送到 MQMD 格式字段为 MQSTR 的队列。
注: 将使用与相应的命令请求匹配的消息格式发送代理程序应答消息到命令。

如果 MQMD 格式字段设置为 MQSTR ,那么如果 MQ 网络中存在已启用数据转换的通道,那么 Managed File Transfer 命令 XML 消息可能会损坏。

[z/OS]false
adjustScheduleTimeForDaylightSaving
如果您的企业每天运行调度的传输,因为调度的传输是使用以下命令创建的:
  • -oi 参数设置为 days ,并且
  • -tb 参数已设置为源
例如,在fteCreateTransfer命令中,如果将此属性设置为"true",则当时钟前进一小时时,计划的传输时间将前移一小时,而当时钟后退一小时时,计划的传输时间将后移一小时。

例如,如果调度的传输将在凌晨 1:00 运行,那么当时钟前进时,传输将在凌晨 2:00 运行,而当时钟后退时,传输将还原为凌晨 1:00。

true