- BIP2233 和 BIP2234:调用用户定义扩展实现函数之前和之后跟踪到的一对消息。 这些消息会报告输入参数和返回的值。 例如:
BIP2233Invoking
user-defined extension function [function name] ([function call parameters])
BIP2234Returned
from user-defined extension function [function name] with result:
[result of call]注: 在这些消息中, 实现函数 可以解释为 C 实现函数或 Java™ 实现方法。
- BIP2308:集成节点无法装入 LIL 文件时所记录的消息。
BIP2308File
[name of LIL file] could not be loaded; operating system return code
[error code return from operating system]
- BIP3904: 在调用用户定义节点的 Java
evaluate() 方法之前跟踪的消息。 例如:BIP3904(for
Java): Invoking the evaluate() method of node (class=[node class name],
name=[label of node in flow])其中 node class name 是 Java 用户定义的扩展类的名称。
- BIP3905:调用用户定义节点的 C
cniEvaluate 实现函数(CNI_VFT 的 iFpEvaluate 成员)之前跟踪到的消息。 例如:BIP3905(for
C): Invoking the cniEvaluate() implementation function of node (class=[node
class name], name=[label of node in flow])其中 node class name 是用户定义的扩展类的名称,由用户定义的扩展在调用 C cniDefineNodeClass 时提供。
- BIP4142:调用用户定义节点实用程序函数时跟踪到的调试消息,其中实用程序函数会改变语法元素的状态。 这包含所有以
cniSetElement* 开头的实用程序函数,其中 * 表示带有该词干的所有节点。 例如:BIP4142Evaluating
cniSetElement [element identifier type]. Changing value from [value
before user's change] to [value after user's change]"
- BIP4144 和 BIP4145:由某些实现函数跟踪到的一对消息,当这些实现函数由用户定义扩展调用时,它们可以修改集成节点对象的内部状态。 可能的集成节点对象包含语法元素、节点和解析器。 这些消息会报告提供给调用方法和返回值的输入参数。 例如:
BIP4144Entered function [function
name] ([function call parameters])
BIP4145Exiting
function [function name] with result: [result to be returned]
在这些消息中,可以将 实现函数 解释为 C 实现函数或 Java 实现方法。
调用消息 BIP4144 和 BIP4145 的 C 实现函数包含:
| 对于用户定义解析器 |
对于用户定义节点 |
| cpiCreateParserFactory |
cniCreateElement* |
| cpiDefineParserClass |
cniDeleteMessage |
| cpiAppendToBuffer |
cniAdd* |
| cpiCreateElement |
cniDetach |
| cpiCreateAndInitializeElement |
cniCopyElementTree |
| cpiAddBefore |
cniFinalize |
| cpiAddAfter |
cniWriteBuffer |
| cpiAddAsFirstChild |
cniSql* |
| cpiAddAsLastChild |
cniSetInputBuffer |
| cpiSetNameFromBuffer |
cniDispatchThread |
(* 表示带有该词干的所有节点;例如,cniAdd* 包含 cniAddAfter、cniAddasFirstChild、cniAddasLastChild 和 cniAddBefore。)
调用消息 BIP4144 和 BIP4145 的 Java 方法包括:
| 对于用户定义节点 |
| com.ibm.broker.plugin.MbElement.CreateElement* |
| com.ibm.broker.plugin.MbElement.add* |
| com.ibm.broker.plugin.MbElement.detach |
| com.ibm.broker.plugin.MbElement.copyElementTree |
- BIP4146:调用用户定义解析器实用程序函数时跟踪到的调试消息,其中实用程序函数会改变语法元素的状态。 这包含所有以
cpiSetElement* 开头的实用程序函数,其中 * 表示带有该词干的所有节点。 例如:BIP4146Evaluating
cpiSetElement [element identifier type]. Changing value from [value
before user's change] to [value after user's change]
有关 C 用户定义的 API 的信息,请参阅 C 语言用户定义的解析器 API 和 C 语言用户定义的节点 API。
- BIP4147:用户定义扩展将无效的输入对象传递至用户定义扩展实用程序 API 函数时跟踪到的错误消息。 例如:
BIP4147User-defined
extension input parameter failed debug validation check. Input parameter
[parameter name] passed into function [function name] is not a valid
object.
- BIP4148:用户定义扩展破坏集成节点对象时跟踪到的错误消息。 例如:
BIP4148User-defined
extension damaged an integration node object. Function
[function name] has damaged integration node object passed
as parameter [parameter name].
- BIP4149:用户定义扩展将无效的输入数据指针传递至用户定义扩展实用程序 API 函数时跟踪到的错误消息。 例如:
BIP4149User-defined
extension input parameter failed debug validation check. Input parameter
[parameter name] passed into function [function name] is a NULL pointer.
- BIP4150:用户定义扩展将无效的输入数据传递至用户定义扩展实用程序 API 函数时跟踪到的错误消息。 例如:
BIP4150User-defined
extension input parameter failed debug validation check. Input parameter
[parameter name] passed into function [function name] does not have
a valid value.
- BIP4151:
cniGetAttribute2 或 cniGetAttributeName2 将返回码设置为意外值时跟踪到的调试消息。 期待获取的值为 CCI_SUCCESS、CCI_ATTRIBUTE_UNKNOWN 和 CCI_BUFFER_TOO_SMALL。 除此以外的任何其他值均为意外值。 例如:BIP4151An
unexpected value was returned from User-defined extension implementation
function [function name].
- BIP4152:在以下情况下跟踪到的调试消息:
cniGetAttribute2 或 cniGetAttributeName2 将返回码设置为 CCI_BUFFER_TOO_SMALL,然后再次调用 cniGetAttribute2 或 cniGetAttributeName2,但这次是用正确大小的缓冲区进行调用,然而返回码仍设置为 CCI_BUFFER_TOO_SMALL。 例如:BIP4152User-defined
extension Implementation function [function name] returned CCI_BUFFER_TOO_SMALL
on 2nd attempt.