开发用户定义的扩展

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

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

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

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

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

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

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

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

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

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

仅对于用户定义的节点,开发者需要创建工作台插件以及运行时 LIL 或 JAR 文件。这会将用户定义的节点添加到消息流编辑器的节点选用板中,并允许在消息流中使用新节点。请参阅在工作台中创建用户定义节点的用户界面表示,获取更多详细信息。对于用户定义的解析器不需要执行此步骤。

当开发用户定义的扩展时,需要注意某些限制和因素。
  • 不支持将 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/08/14
as09940_