Use the Message Broker Java™ API to
modify a pattern instance to create ESQL modules. You can then associate
ESQL modules with nodes that use ESQL. For example, if you create
a Compute node, you can
use the Message Broker Java API to create an ESQL
module and then associate that module with the node.
Examples of nodes that use ESQL are Compute, Database, DatabaseInput, and Filter nodes. If you are using
a non-default broker schema, you must set the schema by using the setBrokerSchema() method.
- The following example shows you how to create an ESQL module
in the mqsi schema. The module is then assigned
to a new Compute node by
using the setComputeExpression() method:
MessageFlow mf1 = patternInstanceManager.getMessageFlow("MyFlowProject", "main.msgflow");
ESQLModule module = new ESQLModule();
module.setBrokerSchema("mqsi");
module.setEsqlMain("MyESQLMain");
ComputeNode compNode = new ComputeNode();
compNode.setNodeName("My Compute Node");
compNode.setComputeExpression(module);
mf1.addNode(compNode);
- The following example shows you how to create an ESQL module
in the default schema. The setBrokerSchema() method
is not required.
MessageFlow mf1 = patternInstanceManager.getMessageFlow("MyFlowProject", "main.msgflow");
ESQLModule module = new ESQLModule();
module.setEsqlMain("MyESQLMain");
ComputeNode compNode = new ComputeNode();
compNode.setNodeName("My Compute Node");
compNode.setComputeExpression(module);
mf1.addNode(compNode);
- The following example shows you how to discover an ESQL
module from within an ESQL file by using the getEsqlModules() method.
You can then use the ESQL module to set the compute expression on
a Compute node by using
the setComputeExpression() method.
MessageFlow mf1 = patternInstanceManager.getMessageFlow("MyFlowProject", "main.msgflow");
File esql = new File("FileBatchProcessingSample_Branch.esql");
ESQLFile esqlFile = new ESQLFile(esql);
Vector<ESQLModule> esqlModules = esqlFile.getEsqlModules();
ComputeNode compNode = new ComputeNode();
compNode.setNodeName("My Compute Node");
compNode.setComputeExpression(esqlModules.get(0));
mf1.addNode(compNode);