0 / 0
Transferring data from the conductor node to player nodes

Transferring data from the conductor node to player nodes

The Java™ Integration stage provides your Java code with the DataChannel interface to transfer data from the conductor node to the player nodes.

The DataChannel interface provides the following methods:
  • sendTo()
  • receiveFrom()

To get an instance of the DataChannel interface, your Java code calls the getDataChannel method of the Configuration class. To send data from the conductor node, your Java code calls the sendTo method. To receive data on each player node, your Java code calls the receiveFrom method.

To enable the data transfer service capability during the stage initialization and termination processes, your Java code calls the setIsRunOnConductor method of the Capabilities class. The getDataChannel method returns null if the capability is not enabled.

In the following example code, Java code passes string data from the conductor node to player nodes.

private int m_nodeID = -1;
 
public boolean validateConfiguration(Configuration configuration, boolean isRuntime) throws Exception
{
   ...
   m_nodeID = configuration.getNodeNumber();
   if (isRuntime == true)
   {
      // Get data channel
      DataChannel channel = configuration.getDataChannel();
      if (m_nodeID == -1) // On Conductor node
      {
         // Send data to the player node
         String object = new String("*** test data ***");
         Logger.information(object + " is sent from Conductor to Player. ");
         channel.sendTo(DataChannel.NODE_PLAYER, object);
      }
      else  // On Player node
      {
         // Receive data from the conductor node 
         String object = (String) channel.receiveFrom(DataChannel.NODE_CONDUCTOR);
         Logger.information(object + "is received on Player(" +  m_nodeID + ").");
      }
   }
   ...
   return true;
}
When the example code is run, the following messages are logged in the IBM® DataStage® job log:
Java_Stage: *** test data *** is set on the Conductor node.
Java_Stage,0: *** test data *** is received on Player(0).
Java_Stage,1: *** test data *** is received on Player(1).
Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more