- 1
- 0
- 约1.67千字
- 约 7页
- 2019-03-05 发布于广西
- 举报
AEAI ESB-基于ESB的循环及判断处理控制
第 PAGE \* Arabic \* MERGEFORMAT 7 页
概述
在实际业务环境中,某一个业务模块往往需要重复执行,这就需要使用循环来完成。AEAI ESB在流程化的设计模式中也支持循环的使用,本文档为读者介绍如何使用分支、合并路由设计循环流程。
样例
创建Http流程
整体流程图
参数说明
组件说明
httpRequest
package com.aeai.demo.messageflows.simpleloop;import com.agileai.esb.core.AdapteException;
package com.aeai.demo.messageflows.simpleloop;
import com.agileai.esb.core.AdapteException;
import ponent.flow.http.HttpRequest;
import ponent.transformer.JavaTransformer;
public class JavaConverter1 extends JavaTransformer{
public void handleRequest() throws AdapteException{
try {
HttpRequest req = (HttpRequest) getMessageFlow().getRequest();
String _counter = req.getParam(counter);
int counter = Integer.parseInt(_counter);
getVariable(index).setValue(0); //初始值
getVariable(counter).setValue(counter); //循环数
} catch (Exception e) {
logger.error(e.getLocalizedMessage(), e);
throw new AdapteException(e.getLocalizedMessage(),e);
}
}
}
循环合并
package com.aeai.demo.messageflows.simpleloop;import com.agileai.esb.core.AdapteException;
package com.aeai.demo.messageflows.simpleloop;
import com.agileai.esb.core.AdapteException;
import ponent.transformer.JavaTransformer;
public class JavaConverter2 extends JavaTransformer{
public void handleRequest() throws AdapteException{
try {
int index = (Integer) getVariable(index).getValue();
(循环第 + (index + 1) + 次);
//循环++
getVariable(index).setValue(index + 1);
} catch (Exception e) {
logger.error(e.getLocalizedMessage(), e);
throw new AdapteException(e.getLocalizedMessage(),e);
}
}
}
循环分支
HttpResponse
循环分支到循环合并连线
循环分支待HttpResponse连线
测试
原创力文档

文档评论(0)