开发用户定义的扩展

本部分包含有关如何实现用户定义的节点或解析器以增强 WebSphere Message Broker 的功能性的详细信息。

您可以使用 C 或 Java 来编写用户定义的节点。您只能使用 C 来编写用户定义的解析器。有关设计和创建用户定义的节点和用户定义的解析器的信息,请参阅以下主题:

您创建的并分配的文件为:

Windows 系统上,是动态链接库(DLL),指定的文件类型为“.lil”。

Linux 系统上,是共享对象,文件类型也为“.lil”。

UNIX 系统上,是共享对象,文件类型也为“.lil”。

z/OS 上,是共享对象,文件类型为“.lil”。

对于 Java 节点来说,是 Java 归档文件(JAR),文件类型为“.jar”。

C 用户定义的扩展实现了可支持多种节点或解析器类型的节点或解析器工厂。Java 用户不需要写节点工厂。有关更多信息,请参阅节点和解析器工厂行为

当代理初始化时,系统装入用户定义的扩展。这调用用户定义的扩展中的注册函数,以使代理理解用户定义的扩展支持哪些节点或解析器。

当开发用户定义的扩展时,需要注意某些限制和因素。
  • 不支持将 C 用户定义的节点与 Java 进行接口交互和在 JNI 中包装 C 用户定义的节点。这是因为代理在内部初始化 JVM,它无法通过用户定义的扩展接口提供为可用的。JVM 使用各种特定于代理需求的参数进行初始化。因为只有一个 JVM 在处理中,第一个初始化 JVM 的人将指定这些参数。如果用户定义的节点使用 Java,且先初始化代理,这些参数可能不适合用户定义的节点。如果用户定义的节点在代理启动之前创建 JVM,则代理可能无法正确运行。
  • 用户定义的节点可以部署在 WebSphere Event Broker 中。为 WebSphere Event Broker 用户创建用户定义的节点时,您必须确保用户不能对 ESQL 代码求值。例如,如果节点将输入作为节点属性提供给 MbSQLStatement,则它将有效地模拟‎compute 节点。WebSphere Event Broker 中不支持使用 ESQL 。
  • 用户定义的输入节点只能支持 XML、BLOB 和 MQ 解析器。
  • 请不要使用特定于操作系统的函数。这样,用户定义的扩展就能在各种平台上使用,而不需要更改源代码。

下表显示了您根据要创建的用户定义的扩展类型所必须阅读的主题:

相关概念
用户定义的扩展
相关参考
用户定义的扩展
声明 | 商标 | 下载 | | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后更新:2006/05/19
as09940_