相信瞭解數通暢聯的人對AEAI ESB並不陌生,其設計器ESBDesigner中內置組件有:路由和轉換、數據適配器、協議適配器、協議接入適配器等4類組件,每類組件下面包含各類類型的組件節點,可使程序流程更直觀,加快開發速度。
路由和轉換中包含了三個節點分別爲:分支路由、合併路由和 java轉換,分支路由用於將一條線路分爲多個支路,合併路由爲將多條分支合併到一塊兒,java轉換節點能夠進行變量的數據轉換和賦值,而且在模型沒法知足要求時支持代碼擴展。本文檔詳細介紹一下路由和轉換的機制,但願能爲使用者提供幫助。java
選擇分支路由後只能夠在「基本信息」中進行配置,用於將一條線路分爲多個支路。多線程
描述:能夠對此節點功能進行簡單描述,方便本身和他人之後查看。
注意: 併發
合併路由爲將多條分支合併到一塊兒,使用方法與分支路由基本相同,可參見「分支路由」的介紹。
匹配分支:經過匹配分支選擇當前的合併路由與哪一個分支路由相匹配。
注意: 學習
能夠進行變量的數據轉換和賦值,而且在模型沒法知足要求時支持代碼擴展。
在類別選爲賦值時,支持DataBox賦值給DataSet、DataBag賦值給DataRow、DataRow賦值給DataRow、DataSet賦值給DataSet,若是都不知足要求能夠選擇自動與代碼賦值,點擊「Next」爲以下界面:測試
分支路由到各分支的鏈接線是condition流轉類型的,均有條件表達式。經過設置控制類型爲xor(if(){}else if(){}else{}),達到不一樣的表達式結果限制流程的走向實現了分支路由的控制效果。
流程圖以下:
在HttpRequest節點添加入參condition
點擊分支路由節點設置控制類型爲xor(if(){}else if(){}else{})以下圖:
點擊分支路由節點與分支節點之間的連線,分別設置流轉類型爲condition,並點擊按鈕添加條件表達式。
在HttpResponse節點打印信息執行完成,請查看控制檯日誌
測試結果以下:
spa
流程圖中,全部鏈接線均爲auto流轉類型的,即沒有條件表達式。則全部流程都會走。
流程圖以下:
點擊分支路由節點設置控制類型爲and(全部流程都會走)以下圖:
點擊分支路由節點與分支節點之間的連線,分別設置流轉類型爲auto。
在HttpResponse節點打印信息執行完成,請查看控制檯日誌
測試結果以下:
線程
使用合併路由和分支路由的組件,配合鏈接線的條件表達式,實現循環操做。
流程圖以下:
在HttpRequest節點添加入參counter
建立全局變量以下:
初始化參數節點擴展代碼以下:
獲取HttpRequest傳遞的參數counter的值並存放在變量」counter」中
爲變量」index」賦初始值爲0
點擊循環合併節點配置以下:
循環體節點打印循環的次數擴展代碼以下:
點擊循環分支節點配置以下:
循環分支與循環合併之間的節點連線配置以下:
在HttpResponse節點打印了循環變量以下圖:
測試結果以下:
設計
AEAI ESB主要用於集成各業務系統,實現異構系統的互聯互通,筆者自知自身的知識積累不足但至入職接觸AEAI ESB以來逐步學習進步,發現AEAI ESB不只實現了圖形化的交互方式,支持拖拽式建立Web服務、消息流程,便於快速構建,並且具備靈活的擴展性以及支持熱部署的模式而且能夠遠程調試能夠設置斷點、逐步調試,便於準確調試定位。調試