WebSphere Message Broker, Version 8.0.0.7
Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS
See information about the latest product version
See information about the latest product version
Implementing a user-defined node
You can implement a user-defined node to extend the function of WebSphere® Message Broker.
Before you start:
Consider the following restrictions
and factors when developing user-defined nodes:
To implement a user-defined node, complete the following
tasks in the specified order:- Interfacing a C user-defined node to Java™ and providing a JNI wrapper is not supported. This restriction exists because the broker internally initializes a JVM, which is unavailable through the user-defined extension interface. The JVM initializes with various parameters that are specific to the requirements of the broker. Because only one JVM exists in a process, whoever initializes it first specifies these parameters. If a user-defined node uses Java, and the broker is initialized first, these parameters might not be suitable for the user-defined node. If the user-defined node creates the JVM before the broker starts, the broker might not function correctly.
- User-defined input nodes can support only XML, BLOB, and the WebSphere MQ parsers.
- Avoid using functions that are specific to an operating system. If you code in this way, your user-defined extensions can work on various operating systems without requiring changes to the source code.
- Always put a user-defined node into a non-default schema because a user-defined node in a broker schema is known to other message flows by its schema qualified name. For example, if a user-defined node is named ErrorHandler and it is in broker schema com.ibm.mb.toolkit, it is referenced as com.ibm.mb.toolkit.ErrorHandler. If a second provider also has an error handler named ErrorHandler and it is in broker schema com.xxx.product, it is referenced as com.xxx.product.ErrorHandler. A user-defined node in a default schema is addressed by its name only. Therefore, if two different providers develop two unrelated error handlers and both are named ErrorHandler and both are placed in a default schema, when both user-defined nodes are in the plug-in space for a third user, the reference to ErrorHandler is ambiguous.
- If you want to use a subflow to create a user-defined node, read the limitations section in the following topic: Using a subflow as a user-defined node.