代理模式

代理模式是一个符号空间,它定义了在其中所定义资源名称的唯一作用域。这些资源是消息流、ESQL 文件和映射文件。

代理模式被定义为从项目源目录到流名称的相对路径。当您首次创建消息流项目时,在该项目中将创建一个名称为 (default) 的缺省代理模式。

您可以在相同的消息流项目中创建新的代理模式以提供独立的符号空间。代理模式作为项目中的文件夹或子目录实现,并提供该项目中的组织结构。您也可以使用项目引用将单个代理模式的作用域扩大到多个项目中,以创建应用程序符号空间,该符号空间提供与该应用程序套件关联的所有资源的作用域。

代理模式名称必须为字符串,以 Unicode 字符开始,随后为零或更多的 Unicode 字符或数字,以及下划线。可以使用点来提供名称结构,例如 Stock.Common。在项目目录中创建了一个目录来表示模式,并且如果模式是使用点构造,则定义了进一步的子目录。例如,代理模式 Stock.Common 导致在消息流项目目录中,Stock 目录下的一个 Common 目录。

如果在项目的缺省代理模式中创建资源(例如,消息流),将在表示该项目的目录中创建与该资源关联的文件。如果在另一个代理模式中创建资源,将在模式目录内创建文件。

例如,如果在消息流项目 Project1 中的缺省模式中创建消息流 Update,则它的关联文件存储在 Project1 目录中。如果在项目 Project1 中的 Stock.Common 代理模式中创建另一个消息流,则在 Project1\Stock\Common 目录中创建该消息流的关联文件。

由于每个代理模式表示一个唯一的名称作用域,因此可以创建两个消息流,这两个消息流在两个代理模式中共享相同的名称。代理模式确保了这两个消息流被识别为分离的资源。尽管这两个消息流有相同的名称,但仍被认为是唯一的。

如果将消息流从一个项目移动到另一个,如果保存了代理模式,可以继续在原先项目内使用消息流。如果这样做,必须通过添加目标项目来为原先的项目更新相关的项目列表。但是,如果没有保存代理模式,因为模式名称是被完全地限定的消息流名称的一部分,所以流成为一个不相同的流,而且不再由其他项目识别。该操作导致链接被终止,您必须手动地校正。关于移动消息流后校正错误的更多信息,请参阅移动消息流

请不要通过移动文件系统中资源的关联文件来移动资源,您必须使用工作台来移动资源,以确保所有引用正确反映新的结构。

当您在代理模式中创建函数、过程和常量时,以下作用域和复用条件适用。

函数
  • 函数可本地复用,并可以被模块作用域子例程调用或在同一模式中映射。
  • 函数可全局复用,并可以被 ESQL 中的其他函数或过程调用,或在同一项目或其他项目中定义的任何模式中映射文件。
过程
  • 过程可本地复用,并可以从同一模式中的 ESQL 文件中的模块作用域子例程调用。
  • 过程可全局复用,并可以被同一或不同项目中定义的任何模式中的 ESQL 文件中的其他函数或过程调用。

过程不能在映射文件中使用。

常量
  • 常量可本地复用,并可以在 ESQL 中定义的地方或在同一代理模式中的映射文件中使用。
  • 常量不可全局复用;您不能使用在其他模式中声明的常量。

如果要全局复用函数或过程:

相关概念
按名称链接
消息流概述
消息映射概述
ESQL 概述
相关任务
开发消息流
创建代理模式
开发消息映射
正在开发 ESQL
相关参考
ESQL 编辑器
内置节点
ESQL 引用
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ak01100_