メッセージ・フロー・アプリケーション開発時に Message Broker Java™ API を使用して ESQL モジュールを作成します。 その後、ESQL モジュールを、ESQL を使用するノードに関連付けることができます。 例えば、Compute ノードを作成する場合、ESQL モジュールを作成してからそのモジュールをノードに関連付ける Java コードを記述できます。
ESQL を使用するノードの例としては、Compute、Database、DatabaseInput、Filter の各ノードがあります。 デフォルト以外のブローカー・スキーマを使用している場合、setBrokerSchema() メソッドを使用してスキーマを設定する必要があります。
- 以下の例は mqsi スキーマで ESQL モジュールを作成する方法を示しています。 その後、このモジュールは、setComputeExpression() メソッドを使用して新しい Compute ノードに割り当てられます。
File msgFlow = new File("main.msgflow");
MessageFlow mf1 = FlowRendererMSGFLOW.read(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);
- 以下の例は、デフォルト・スキーマで ESQL モジュールを作成する方法を示しています。 setBrokerSchema() メソッドは必要ありません。
File msgFlow = new File("main.msgflow");
MessageFlow mf1 = FlowRendererMSGFLOW.read(msgFlow);
ESQLModule module = new ESQLModule();
module.setEsqlMain("MyESQLMain");
ComputeNode compNode = new ComputeNode();
compNode.setNodeName("My Compute Node");
compNode.setComputeExpression(module);
mf1.addNode(compNode);
- 以下の例は、getEsqlModules() メソッドを使用することで、ESQL ファイル内から ESQL モジュールを発見する方法を示しています。
次に、ESQL モジュールを使用して、setComputeExpression() メソッドにより Compute ノードで計算式を設定できます。
File msgFlow = new File("main.msgflow");
MessageFlow mf1 = FlowRendererMSGFLOW.read(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);