天天看點

AEAI ESB-基于ESB的循環及判斷處理控制 1.概述 2.樣例

1.概述

在實際業務環境中,某一個業務子產品往往需要重複執行,這就需要使用循環來完成。AEAI ESB在流程化的設計模式中也支援循環的使用,本文檔為讀者介紹如何使用分支、合并路由設計循環流程。

2.樣例

2.1.建立Http流程

AEAI ESB-基于ESB的循環及判斷處理控制 1.概述 2.樣例

2.2.整體流程圖

AEAI ESB-基于ESB的循環及判斷處理控制 1.概述 2.樣例

2.3.參數說明

AEAI ESB-基于ESB的循環及判斷處理控制 1.概述 2.樣例

2.4.元件說明

2.4.1.httpRequest

AEAI ESB-基于ESB的循環及判斷處理控制 1.概述 2.樣例

   2.4.2.初始化内容

package com.aeai.demo.messageflows.simpleloop;

importcom.agileai.esb.core.AdapteException;

importcom.agileai.esb.component.flow.http.HttpRequest;

importcom.agileai.esb.component.transformer.JavaTransformer;

public classJavaConverter1 extends JavaTransformer{

        public void handleRequest() throwsAdapteException{

                 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 newAdapteException(e.getLocalizedMessage(),e);

                 }                                  

        }

}

2.4.3.循環合并

AEAI ESB-基于ESB的循環及判斷處理控制 1.概述 2.樣例

2.4.4.循環内容

package com.aeai.demo.messageflows.simpleloop;

importcom.agileai.esb.core.AdapteException;

importcom.agileai.esb.component.transformer.JavaTransformer;

public classJavaConverter2 extends JavaTransformer{

        public void handleRequest() throwsAdapteException{

                 try {

                           int index = (Integer)getVariable("index").getValue();

                           logger.info("循環第 " + (index + 1) + "次");

                           //循環++

                           getVariable("index").setValue(index+ 1);

                 } catch (Exception e) {

                           logger.error(e.getLocalizedMessage(),e);

                           throw new AdapteException(e.getLocalizedMessage(),e);

                 }                                  

        }

}

2.4.5.循環分支

AEAI ESB-基于ESB的循環及判斷處理控制 1.概述 2.樣例

2.4.6.HttpResponse

AEAI ESB-基于ESB的循環及判斷處理控制 1.概述 2.樣例

2.4.7.循環分支到循環合并連線 

AEAI ESB-基于ESB的循環及判斷處理控制 1.概述 2.樣例

2.4.8.循環分支待HttpResponse連線

AEAI ESB-基于ESB的循環及判斷處理控制 1.概述 2.樣例

2.5.測試

AEAI ESB-基于ESB的循環及判斷處理控制 1.概述 2.樣例

AEAI ESB-基于ESB的循環及判斷處理控制文檔   下載下傳