基礎(chǔ)概念
腳本是用于簡化集成流可視化的維護(hù)復(fù)雜度,更加符合開發(fā)人員的使用習(xí)慣而提供的功能。開發(fā)人員可以在集成流節(jié)點的屬性上使用腳本方式進(jìn)行動態(tài)配置。支持使用Groovy、Java語法編寫腳本,降低Java體系開發(fā)人員的使用門檻。
語法規(guī)則
支持JDK 1.8、Groovy 3.0的語法規(guī)則。
腳本結(jié)構(gòu)
在集成流設(shè)計器中,很多節(jié)點屬性可支持通過“腳本”方式設(shè)置,單擊編輯代碼后會出現(xiàn)腳本編輯器,如下圖所示。腳本編輯器中支持聯(lián)想、自動補(bǔ)充、語法檢查等功能。
集成平臺對腳本結(jié)構(gòu)進(jìn)行了約定,因此開發(fā)者需要了解腳本結(jié)構(gòu)。
設(shè)計器會自動生成腳本空腳本結(jié)構(gòu),如上圖所示,黑色的代碼編輯區(qū)域即為默認(rèn)生成的內(nèi)容。
在腳本編輯框的頭部,明確約定了此腳本需要返回的數(shù)據(jù)類型,例如上圖中的“返回Entity類型的數(shù)據(jù)”。每個節(jié)點屬性能夠支持的數(shù)據(jù)類型是不同的,因此您在編寫腳本時需要返回對應(yīng)的數(shù)據(jù)類型。在腳本編輯器中并未對返回類型進(jìn)行校驗,運(yùn)行時引擎會校驗?zāi)_本返回類型。
代碼編輯區(qū)域,第一行是自動生成的
package
信息,請勿修改。說明您在不同節(jié)點之間復(fù)制腳本時,請注意勿復(fù)制
package
部分。handle
方法(例如本例中的第9行)為引擎調(diào)用腳本的入口方法。輸入?yún)?shù)為StepMessage類型,即本節(jié)點的輸入消息。
數(shù)據(jù)類型
腳本支持的數(shù)據(jù)類型如下:
Java基礎(chǔ)數(shù)據(jù)類型。常用類型包括:String、Integer、Boolean、BigDecimal、HashMap、ArrayList等。
核心類型。集成流引擎自身定義了一些核心數(shù)據(jù)類型,主要包括:
類名
簡介
相關(guān)文檔
StepMessage
集成流節(jié)點之間傳遞的消息格式。
Entity
承載數(shù)據(jù)的實體,是對二進(jìn)制數(shù)據(jù)的封裝。
HTTP類
對HTTP Request、Response的封裝,使用HTTP協(xié)議類型的連接器,會使用和輸出該大類的數(shù)據(jù)。
用戶自定義類型。在腳本中您可以根據(jù)需要創(chuàng)建類并在本腳本內(nèi)使用,但
handle
入口方法的返回值類型不支持傳遞您自定義類。
工具類
集成流引擎內(nèi)置了常見字符串處理、數(shù)據(jù)處理、加解密方面的工具類,幫助開發(fā)者更加便捷的編寫腳本,主要工具類包括如下:
類名 | 簡介 |
Base64Util | 提供Base64編碼、解碼功能 |
CryptoUtil | AES加解密 |
HmacUtil | HMAC相關(guān) |
HashUtil | MD5、SHA等hash算法 |
StringUtil | 字符串處理 |
RegExUtil | 正則相關(guān) |
JsonUtil | Json格式處理 |
XMLUtil | XML格式處理 |
URLUtil | URL處理 |
EscapeUtil | URL編碼 |
TimeUtil | 時間相關(guān) |
DatetimeUtil | 時間相關(guān) |
DateFormatUtil | 時間相關(guān) |
CollectionUtil | 處理集合相關(guān)工具類 |
RandomUtil | 隨機(jī)數(shù)相關(guān) |
SocketUtil | 網(wǎng)絡(luò)字節(jié)序和主機(jī)字節(jié)序計算 |
TemplateUtil | 模板相關(guān) |