IBM Support

Disabling Node.js in IBM Integration Bus 10.0.0.24 and subsequent v10.0 fix packs

General Page

How to disable Node.js in IBM Integration Bus 10.0.0.24 and subsequent v10.0 fix packs.
Node.js is required in IBM Integration Bus v10.0 on Linux x86-64 and Windows x86-64 for the following features:
  • Remote callable flows
  • SalesforceRequest Node
  • LoopbackRequest Node
If you do not use these features, you can choose to disable node from 10.0.0.24 onwards
How to confirm whether these nodes are in use
It is possible to instruct an Integration Server to detail all of its message flows and their contents.
Then, the output can be reviewed for the impacted node types.
  1. Use the 'mqsireportproperties' command to output a list of all message flows and their contents
    mqsireportproperties MY_NODE -e MY_INT_SERVER -o AllMessageFlows -r
  2. Search the output for these three nodes' types.
    • The LoopbackRequest node is of type 'ComIbmRequest' and has a connectorName set to 'iib-loopback-connector'.
    • The SalesforceRequest node is of type 'ComIbmRequest' and has a connectorName set to 'iib-salesforce-connector'.
    • The Callable nodes are all of types with the prefix 'ComIbmCallable'.
A full list of node types can be found, here.
 
How to disable node.js
This feature is only available from 10.0.0.24 onwards. To disable Node.js for all integration nodes and servers, stop all the integration nodes, set the environment variable
MQSI_DISABLE_NODEJS=1
Restart the integration nodes
To re-enable Node.js stop the integration nodes, unset the environment variable, and then restart the integration nodes.
To disable Node.js on an individual basis per integration node or per integration server, refer to the Documentation on Creating a specific command environment for an integration node or integration server.
What happens if I use features, which require node when MQSI_DISABLE_NODEJS=1
1) Creating an iib switch
Creating an iibswitch with the iibswitch create switch command fails with message
Creating the iibswitch with configuration file switch.json
Failed to create the iibswitch with configuration file switch.json
2) Starting, stopping, or listing an existing switch server
With MQSI_DISABLE_NODEJS=1 enabled the switch server cannot be created or started correctly. Issuing the commands
  • iibswitch start switch
  • iibswitch list switch
  • iibswitch stop switch
does not return a command error but results in the following syslog messages stating that the switch server did not start correctly:
 
IBM Integration Bus v100024 (IIBSWITCH_NODE.IIBSWITCH_SERVER) [Thread 3493] (Msg 1/2) BIP4041E: Integration server 'IIBSWITCH_SERVER' received an administration request that encountered an exception.
IBM Integration Bus v100024 (IIBSWITCH_NODE.IIBSWITCH_SERVER) [Thread 3493] (Msg 2/2) BIP2212E: Invalid configuration message containing action 'Change' which is not valid for target object 'ComIbmIIBSwitchManager'.
 
3) Calling a remote callable flow
Executing a message flow that calls a remote callable flow results in syslog errors reporting that the connection agent for the remote callable flow has not been configured
IBM Integration Bus v100024 (xxxx.xxxxx) [Thread 6223] (Msg 3/4) BIP6404S: An exception occurred while attempting to call a flow in application 'DummyApplication' with endpoint name 'DummyEndpoint' on a remote server. The message might not have been sent correctly.
IBM Integration Bus v100024 (xxxx.xxxxx) [Thread 6223] (Msg 4/4) BIP6401S: The connection agent for the remote callable flow has not been configured. The message flow in application 'DummyApplication' with endpoint name 'DummyEndpoint' cannot be called.
4) Deploying a flow containing a SalesforceRequest or LoopbackRequest node
A deployment request containing a SalesforceRequest or LoopbackRequest node with node.js disabled fails. The error returned states that the connector does not exist.
The following message is returned when a flow is deployed containing either SalesforceRequest or LoopbackRequest nodes
BIP3845E: Failed to find a connector 'iib-salesforce-connector' to use with output session 'Test_Salesforce_Request'. 


There are no connectors installed on the integration node that the output session can use. 


Ensure that the connector required by the node is installed on the integration node. Connector providers are installed by creating a MessagingProvider configurable service with details of the providers libraries.

[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNQK6","label":"IBM Integration Bus"},"ARM Category":[{"code":"a8m50000000CiCJAA0","label":"IIB-\u003ESecurity"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.0.0"}]

Document Information

Modified date:
15 December 2021

UID

ibm16474449