cniDispatchThread

此函数分派新消息流线程来调用另一个线程实例以运行用户定义的消息流输入节点。从为每个消息流保留的线程池分配此消息流线程,这受消息流的附加实例属性的控制。如果由于这些线程都在使用中而没 有可用的线程,则返回 CCI_SUCCESS 并且 returnCode 设置为 CCI_NO_THREADS_AVAILABLE。这不是错误,但表示以下内容之一:
  • 消息流不是配置为与其他线程一起运行。
  • 所有已配置的其他线程都在当前运行。

cniDispatchThread 函数仅可以从输入节点发出。如果在任何其他时间发出,则返回 CCI_FAILURE,并且 returnCode 设置为 CCI_INV_NODE_ENV。

语法

int cniDispatchThread(
    int*                returnCode,
    CciNode*     nodeObject);

参数

returnCode
来自函数(输出)的返回码。
可能的返回码是:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_NO_THREADS_AVAILABLE
  • CCI_INV_NODE_OBJECT
  • CCI_INV_NODE_ENV
nodeObject
WebSphere Message Broker 创建或重用线程时运行的节点对象的地址。当调用节点的 cniCreateNodeContext 实施函数时,这传 递到节点(输入)。

返回值

  • 如果成功分配了线程,则返回 CCI_SUCCESS,并且 returnCode 设置为 CCI_SUCCESS。
  • 如果由于消息流线程池中的线程不足以保证请求而无法分派线程,则返回 CCI_SUCCESS,并且 returnCode 设置为 CCI_NO_THREADS_AVAILABLE。
  • 如果函数不是从输入节点内发出,则返回 CCI_FAILURE,并且 returnCode 设置为 CCI_INV_NODE_ENV。
  • 对于任何其他错误状态,返回 CCI_FAILURE,并且 returnCode 表明错误的原因。

示例

  cniDispatchThread(&rcDispatch, ((NODE_CONTEXT_ST *)context)->nodeObject);
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
as07520_