fteCreateCDAgent(创建 "Connect:Direct桥接代理)

fteCreateCDAgent命令将创建 "Managed File Transfer Agent及其相关配置,供 "Connect:Direct®网桥使用。

重要说明:
[UNIX、Linux、Windows]UNIX, Linux®, and Windows 系统上,如果您使用的是 IBM® MQ 服务器安装镜像,则必须同时满足以下两个条件才能运行该命令:
  • 成为 IBM MQ 管理员。
  • 是 mqm 组的成员(如果在系统上定义了 mqm 组)。
否则,您将收到错误信息BFGCL0502E: You are not authorized to perform the requested operation。如果您使用的是 Redistributable Managed File Transfer Agent 存档,则不受此限制。
[z/OS]z/OS® 系统上,您必须满足以下条件中的至少一个,才能运行该命令:
  • 是 mqm 组的成员(如果在系统上定义了 mqm 组)。
  • 成为 BFG_GROUP_NAME环境变量中指定的组(如果有)的成员。
  • 运行命令时 ,BFG_GROUP_NAME环境变量中没有设置任何值。

用途

使用 fteCreateCDAgent 命令可创建 Connect:Direct 网桥代理。 此类型的代理程序专用于在 Connect:Direct 节点之间传输文件。 有关更多信息,请参阅 Connect:Direct 网桥。 有关 Connect:Direct 桥接支持的操作系统版本,请参阅 IBM MQ 的系统要求网页。

该命令向您提供 MQSC 命令,您必须针对代理队列管理器运行这些命令以创建以下代理队列:
  • SYSTEM.FTE.AUTHADM1.代理名称
  • SYSTEM.FTE.AUTHAGT1.代理名称
  • SYSTEM.FTE.AUTHMON1.代理名称
  • SYSTEM.FTE.AUTHOPS1.代理名称
  • SYSTEM.FTE.AUTHSCH1.代理名称
  • SYSTEM.FTE.AUTHTRN1.代理名称
  • SYSTEM.FTE.COMMAND。代理名称
  • SYSTEM.FTE.DATA.agent_name
  • SYSTEM.FTE.EVENT。代理名称
  • SYSTEM.FTE.REPLY。代理名称
  • SYSTEM.FTE.STATE.代理名称

这些队列是内部系统队列,除非您要删除该代理,否则不得修改、删除或读取这些队列中的消息。 以下位置的文件中也提供了要运行的 MQSC 命令:MQ_DATA_PATH\mqft\config\coordination_qmgr_name\agents\agent_name\agent_name_create.mqsc

如果稍后要删除代理,该命令还为您提供 MQSC 命令,必须运行这些 MQSC 命令才能清除然后删除属于代理的队列。 MQSC 命令位于以下位置的文件中:MQ_DATA_PATH\mqft\config\coordination_qmgr_name\agents\agent_name\agent_name_delete.mqsc

Managed File Transfer 提供了帮助您配置代理程序的高级代理程序属性。 MFT agent.properties 文件中描述了这些属性。

fteCreateCDAgent 命令在代理属性目录中创建两个 XML 文件。 ConnectDirectNodeProperties.xml 用于定义有关传输中远程节点的信息,以及 ConnectDirectProcessDefinitions.xml(用于指定由传输启动哪些用户定义的 Connect:Direct 进程)。

要定义 Connect:Direct 网桥代理用于连接到 Connect:Direct 节点的用户名和密码,必须手动创建 ConnectDirectCredentials.xml 文件。 样本 XML 文件位于 MQ_INSTALLATION_PATH/mqft/samples/credentials/ 中。 如需了解更多信息和示例,请参阅 Connect:Direct 凭证文件格式

重要说明:

UNIX 平台和 Linux Managed File Transfer 命令上,使用套接字文件与在同一主机上运行的代理程序进程进行通信。

这些套接字文件在代理程序的日志目录中创建,并在代理程序停止时删除。 在 IBM MQ Managed File Transfer 安装中,将使用以下文件路径创建此套接字文件: <MQ_DATA_PATH>/mqft/logs/<COORDINATION_QM_NAME>/agents/<AGENT_NAME>/logs/<AGENT_NAME>@<AGENT_QM_NAME> ,其中缺省情况下 MQ_DATA_PATH 为 /var/mqm

对于可再分发的代理程序,将在以下目录下创建此套接字文件: <RE_DISTRIBUTABLE_DIRECTORY>/mqft/logs/<COORDINATION_QM_NAME>/agents/<AGENT_NAME>/logs/<AGENT_NAME>@<AGENT_QM_NAME>

例如,如果代理名称为 SRCAGENT,代理队列管理器名称为 SRCAGENTQM,协调队列管理器名称为 COORDQM,并且可再分发代理正在从目录 /home/myuser/mqmft-redist运行,那么此套接字文件的完整路径为: /home/myuser/mqmft-redist/mqft/logs/COORDQM/agents/SRCAGENT/logs/SRCAGENT@SRCAGENTQM

总文件路径长度为 85 个字符。

这些操作系统允许套接字文件的最大路径长度为 107 个字符。 因此,在创建代理程序时,请注意确保套接字文件路径不超过 107 个字符。 对于可重新分发的代理程序而言,这一点尤其重要,该代理程序的日志目录可以位于任意目录位置中。 请参阅 fteCreateEnvironment 命令了解有关设置配置目录的详细信息。

如果启动代理程序,或者运行连接到代理程序的其他命令,并且路径长度超过 107 个字符,那么将收到以下消息:
BFGNV0159E: 尝试使用 FFDC 绑定到套接字文件失败

特殊字符

请谨慎使用包含特殊字符的参数值,从而避免命令 shell 以您不期望的方式解析字符。 例如,包含空格、引号(单或双)、正斜杠或反斜杠之类字符的标准文件路径和名称可能由命令 shell 进行解释,而不是直接传递到命令本身。 为避免命令 shell 解释字符,请将整个参数括在双引号/单引号中,或者使用命令 shell 的转义序列来转义特殊字符。

fteCreateCDAgent

Read syntax diagramSkip visual syntax diagramfteCreateCDAgent-agentName agent_name-agentQMgr agent_qmgr_name-cdNodecd_node_name -agentQMgrHostagent_qmgr_host-agentQMgrPortagent_qmgr_port-agentQMgrChannelagent_qmgr_channel-agentDescagent_description-ac-authorityChecking-pconfiguration_options-f-cdNodeHostcd_node_host-cdNodePortcd_node_port-cdTmpDircd_tmp_dir-sservice_name-suuser_name-sppassword-sjoptions-sloptions-n-mquseriduserID-mqpasswordpassword-credentialsFilefilePath-useridusername

参数

--agentName(代理名称)
必需。 要创建的代理的名称。 代理名称对其协调队列管理器必须唯一。

有关命名代理程序的更多信息,请参阅 对象命名约定

--agentQMgr(agent_qmgr_name)
必需。 代理队列管理器的名称。
--cdNode cd_node_name
必需。 用于将消息从此代理传输到目标 Connect:Direct 节点的 Connect:Direct 节点的名称。 此参数的值用于日志记录,而不是指定要连接到哪个节点的 Connect:Direct 网桥代理。 -cdNodeHost-cdNodePort 的值指定属于 Connect:Direct 网桥的 Connect:Direct 节点。

--agentQMgrHost(agent_qmgr_host)
可选。 代理队列管理器的主机名或 IP 地址。

--agentQMgrPort(agent_qmgr_port)
可选。 用于客户机与代理队列管理器的连接的端口号。

--agentQMgrChannel(agent_qmgr_channel)
可选。 用于连接到代理队列管理器的通道名称。

--agentDesc(agent_description)
可选。 代理程序的描述,显示在 IBM MQ Explorer中。

-ac 或 -authorityChecking
可选。 此参数允许进行权限检查。 如果指定该参数,那么代理将检查提交请求的用户是否有权执行请求的操作。 有关更多信息,请参阅 限制用户对 MFT 代理程序操作的权限

--p(配置选项)
可选。 该参数确定用于创建代理程序的配置选项集。 按照约定,请使用非缺省协调队列管理器的名称作为该参数的输入。 然后, fteCreateCDAgent 命令将使用与此非缺省协调队列管理器相关联的属性文件集。

仅在您希望使用不同于缺省值的配置选项时,才指定可选的 -p 参数。 如果未指定该参数,那么将使用基于缺省协调队列管理器的配置选项集。

-f
可选。 强制命令覆盖不匹配的现有参数。 指定此参数不会强制替换现有 Windows 服务代理。

--cdNodeHost cd_node_host_name
可选。 由 -cdNode 参数指定的 Connect:Direct 节点所在系统的主机名或 IP 地址。 如果不指定 -cdNodeHost 参数,那么将使用本地系统的缺省主机名或 IP 地址。

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

--cdNodePort cd_node_port_name
可选。 客户机应用程序用于与 -cdNode 参数指定的节点进行通信的 Connect:Direct 节点的端口号。 在 Connect:Direct 产品文档中,此端口称为 API 端口。 如果不指定 -cdNodePort 参数,那么将假定缺省端口号为 1363。

--cdTmpDir cd_tmp_directory
可选。 此代理用于在将文件传输到目标 Connect:Direct 节点之前临时存储这些文件的目录。 该参数指定临时存储文件的目录的完整路径。 例如,如果将 cdTmpDir 设置为 /tmp,那么文件将临时存放在 /tmp 目录中。 如果未指定 -cdTmpDir 参数,那么文件将临时存储在名为 cdbridge-agent_name 的目录中。 该缺省目录是在 java.io.tmpdir 属性的值定义的位置中创建的。

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

注: 如果运行 fteCleanAgent 命令,那么将删除此目录中的所有文件。
[Windows]-s (service_name )
可选(仅限 Windows)。 指示代理将作为 Windows 服务运行,必须使用 Windows 管理员用户标识运行该命令。 如果不指定 service_name,那么服务将命名为 mqmftAgentAGENTQMGR,其中 AGENT 是代理名称;而 QMGR 是代理队列管理器名称。

服务的显示名称 (显示在 " Windows 服务 " 窗口的 名称 列中) 始终为 Managed File Transfer Agent AGENT@QMGR

注: 如果可再分发代理程序将作为 Windows 服务运行,那么需要在系统环境中设置 BFG_DATA 环境变量才能使服务工作。
[Windows]-su (用户名
可选(仅限 Windows)。 如果该代理程序将作为 Windows 服务运行,那么该参数指定作为该服务运行身份的帐户的名称。 要使用 Windows 域用户帐户运行代理程序,请以 DomainName\UserName格式指定值。 要使用本地内置域中的帐户来运行该服务,请以 UserName 格式指定该值。

您使用 -su 参数指定的 Windows 用户帐户必须具有 Log on as a service 权限。 有关如何授予此权限的信息,请参阅 有关将 MFT 代理程序或记录器作为 Windows 服务运行的指南

在指定 -s 时为必需项。

[Windows]-sp (密码
可选(仅限 Windows)。

该参数仅在指定 -s 时才有效。 如果在指定 -s 参数时不指定该参数,将生成警告消息。 该消息提醒您必须使用 Windows“服务”工具来设置密码,然后该服务才会成功启动。

[Windows]-sj (选项
可选(仅限 Windows)。 当代理作为 Windows 服务启动时,以 -D 或 -X 格式来定义要传递到 JVM 的选项列表。 这些选项使用井号 (#) 或分号 (;) 字符进行分隔。 如果您必须嵌入任何 # 或分号 (;) 字符,请将其置于单引号内。

该参数仅在指定 -s 时才有效。

[Windows]-sl (选项
可选(仅限 Windows)。 设置 Windows 服务日志级别。 有效选项是:errorinfowarndebug。 缺省值为 info。 如果 Windows 服务出现问题,那么该选项可能很有用。 如果将其设置为 debug,那么会在服务日志文件中提供更详细的信息。

该参数仅在指定 -s 时才有效。

[Windows]-n
可选(仅限 Windows)。 指示代理将作为正常进程运行。 这与 -s 选项互斥。 如果 -s 参数和 -n 参数均未指定,那么该代理程序将配置为正常 Windows 进程。

-mquserid (userID)
可选。 指定要向命令队列管理器进行认证的用户标识。
-mqpassword (password)
可选。 指定要向命令队列管理器进行认证的密码。 此外,还必须指定 -mquserid 参数。 如果指定了 -mquserid,但未指定 -mqpassword,将会提示您提供相关联的密码。 将不会显示密码。
-credentialsFile (filePath)
可选。 现有凭证文件或新凭证文件的完整文件路径,将向其添加 IBM MQ 认证详细信息。

此命令支持将一组 IBM MQ 认证详细信息添加到指定的 Managed File Transfer 凭证文件中。 当已启用 IBM MQ 连接认证时,请使用此命令。 如果要更新现有的详细信息,则必须使用 -f 强制参数。

-userid (username)
可选。 用于关联凭证详细信息的用户标识。 如果未指定用户标识,将向所有用户应用凭证详细信息。 此外,还必须指定 -credentialsFile 参数。

示例

在此示例中,将使用代理队列管理器 QM_NEPTUNE 创建新的 Connect:Direct 网桥代理 CD_BRIDGE。 代理程序使用 Connect:Direct 节点 BRIDGE_NODE 将文件传输到其他 Connect:Direct 节点。 BRIDGE_NODE 节点与代理位于同一个系统上,并将缺省端口用于客户机连接。 传输到 Connect:Direct 或从传输的文件将临时存储在目录 /tmp/cd-bridge中。
fteCreateCDAgent -agentName CD_BRIDGE -agentQMgr QM_NEPTUNE 
                 -cdNode BRIDGE_NODE -cdTmpDir /tmp/cd-bridge

返回码

0
命令成功完成。
1
命令结束但未成功。