Utilice la API Java™ de Message Broker al desarrollar aplicaciones de flujos de mensajes para crear módulos ESQL. A
continuación, puede asociar módulos ESQL con nodos que utilizan ESQL. Por ejemplo, si crea un nodo Compute, puede escribir
código Java para crear un módulo ESQL y, a continuación,
asociar dicho módulo con el nodo.
Los nodos de entrada que soportan la seguridad de flujos de mensajes
son Compute, Database, DatabaseInput y Filter. Si está utilizando un esquema de intermediario no
predeterminado, debe establecer el esquema utilizando el método setBrokerSchema().
- En el ejemplo siguiente se muestra cómo crear
un módulo ESQL en el esquema mqsi. El módulo se asigna a continuación a
un nuevo nodo Compute mediante el
método setComputeExpression():
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("Mi nodo Compute");
compNode.setComputeExpression(module);
mf1.addNode(compNode);
- En el ejemplo siguiente se muestra cómo crear un módulo ESQL en el esquema predeterminado. El método setBrokerSchema() no es necesario.
File msgFlow = new File("main.msgflow");
MessageFlow mf1 = FlowRendererMSGFLOW.read(msgFlow);
ESQLModule module = new ESQLModule();
module.setEsqlMain("MyESQLMain");
ComputeNode compNode = new ComputeNode();
compNode.setNodeName("Mi nodo Compute");
compNode.setComputeExpression(module);
mf1.addNode(compNode);
- En el ejemplo siguiente se muestra cómo descubrir un módulo ESQL desde un archivo ESQL utilizando el método getEsqlModules().
A continuación,
puede utilizar el módulo ESQL para establecer la expresión de cálculo
en un nodo Compute utilizando el método setComputeExpression().
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("Mi nodo Compute");
compNode.setComputeExpression(esqlModules.get(0));
mf1.addNode(compNode);