关于此任务
注: 以下步骤假定 Rational
Integration Tester 安装在 C:\Program Files\IBM\RationalIntegrationTester\\ 中,Installation Manager 共享资源目录安装在 C:\Program Files\IBM®\IBMIMShared\ 中,并且您使用的是 Windows 命令提示符。但是,也支持从 Linux 终端运行命令,并且 Installation Manager 共享资源目录安装在 Linux 系统上的 /opt/IBM/IBMIMShared/ 中。
- 创建用于在其中开发定制函数的文件夹。
例如,c:\customFunction。
- 为源和构建输出创建文件夹。例如,c:\customFunction\src 和 c:\customFunction\build。
- 将 plugin.xml 文件和 META-INF 目录从 C:\Program Files\IBM\Rational\IntegrationTester\examples\FunctionsSamplePlugin 复制到 build 目录中。plugin.xml 文件和 META-INF 目录都必须被复制到相同目标目录 (C:\customFunction\build)。
- 在 src 下创建所需的目录结构以包含定制函数代码。有关如何编写定制功能代码的信息,请参阅实现函数类。
如果您拥有现有的代码,请复制 src 文件夹下的根数据包和所有子数据包。例如:C:\customFunction\src\com\samples\functions\FormatDate.java。 实例目录结构如下所示:

除了在 src 文件夹中之外,如果编译您自己的函数,将在类似文件夹层次结构中具有您自己的 Java™ 类。例如:

- 移除 register() 方法,因为不再需要该方法。
- 将缺省构造函数的可视性更改为 public。不能使用其他可视性(例如 protected),否则在尝试执行函数时会生成异常。
- 移除缺省构造函数中的 super(String, String, int, int) 调用。
此超级构造函数不再存在,因此对其进行的任何调用都会产生错误。此调用替换为扩展点定义中包含的信息。
- 移除方法 getSyntax()。
此信息现在包含在扩展点定义中。
- 在命令提示符或终端中,从 C:\customFunction\src 文件夹将定制函数编译到 build 目录中,例如通过运行以下命令:
注: 从 Java Development Kit (JDK) 运行 javac 可执行文件。如果显示的命令找不到该可执行文件,将可执行文件位置的完整路径添加到每个命令的开头。
javac
-d ../build -classpath .;"C:/Program Files/IBM/IBMIMShared/plugins/*"
com/samples/functions/FormatDate.java
注: 如果源包含多个 Java 文件,那么必须在命令中指定每个文件。例如,如果使用上述辅助目录结构,那么命令是:
javac -d ../build -classpath .;"C:/Program Files/IBM/IBMIMShared/plugins/*" com/mycompany/myfunction/MyFunction.java com/mycompany/myfunction/MyUtilities.java
或者
javac -d ../build -classpath .;"C:/Program Files/IBM/IBMIMShared/plugins/*" com/mycompany/myfunction/*.java
在 Linux 系统上,命令为:
javac -d ../build -classpath .:"/opt/IBM/IBMIMShared/plugins/*" **/*.java
- 编辑 MANIFEST.MF,其位于 build 目录(例如 META-INF/MANIFEST.MF)下的 META-INF 目录中,并更改以下值:
| 值 |
更改为... |
| Bundle-Name |
输入插件的描述性名称(例如,格式日期函数)。 |
| Bundle-SymbolicName |
输入描述插件的唯一标识。此标识必须不同于任何其他插件,因为不能一次装入两个具有同一标识的插件。保持“singleton:=true”部分不变。 |
| Bundle-Vendor |
输入公司的名称或其他提供者描述。 |
清单文件的示例如下所示:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 10.0-b19 (Sun Microsystems Inc.)
Bundle-ManifestVersion: 2
Bundle-Name: The Function That Does Exactly What I Need
Bundle-SymbolicName: com.mycompany.myfunction;singleton:=true
Bundle-Version: 1.0.0
Bundle-Vendor: My Company
Import-Package: com.ghc.ghTester.expressions
将 Bundle_Name、Bundle-SymbolicName 和 Bundle-Vendor 的值替换为您自己的值。Bundle-SymbolicName 值通常(但不是必须)与函数 Java 类所在的 Java 软件包名称匹配。
- 在文本编辑器中打开 plug-in.xml(位于构建目录中)并更新值,如配置扩展点元素中所述。
- 在命令提示符或终端中,从 c:\customFunction\build 目录创建其中包含定制函数类 MANIFEST.MF 和 plug-in.xml 的 JAR 文件。例如,可以使用以下命令:
注: 从 Java Development Kit (JDK) 运行 jar 可执行文件。如果显示的命令找不到该可执行文件,将可执行文件位置的完整路径添加到每个命令的开头。
jar
cvfm custom-function-plug-in_1.0.0.jar META-INF\MANIFEST.MF com plugin.xml
注: 您可以为 JAR 文件选择任何名称,但是必须遵循防止名称冲突的约定。
- 将新 JAR 文件复制到项目的“Functions”文件夹中。
在为函数生成插件(在 Eclipse 中创建插件)并实现函数(实现 Function 类)之后,您需要向 Rational
Integration Tester 告知此情况。
完成时,遵循指示信息将函数装入到 Rational
Integration Tester 中(请参阅在 Rational Integration Tester 中配置函数)。
注: 可以在 C:\Program Files\IBM\RationalIntegrationTester\examples\FunctionsSamplePlugin 下找到插件外观的示例。