日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ESB控件的使用

發布時間:2023/12/18 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ESB控件的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

esb控件記錄

1.src/main/resouses 文件夾中放需要解析的文件
2.src/main/java中寫java代碼,一般不寫,只有當mule不能實現功能的時候才會寫代碼


  • flow : 相當于是一個過程,順序執行

  • payload : 相當于是一個指向棧頂的指針,執行的過程,每經過一個組件 ,把組件壓入棧中,payload指向的對象都是棧頂元素,都是在動態變化,前提是connector是有輸出的如果沒輸出,我們認為這個connector沒有壓入棧中好了,棧的大小為1 ,其中logger 和 variable的connector 沒有數據輸出,payload經過這兩個connector,值不會發生變化

  • post方式獲取請求發送的方式 #[payload.變量名]
    get方式獲取請求發送的方式#[message.inboundProperties.'http.query.params'.變量名]

  • variable:獲取get ,post中傳過來的參數,放入變量中(變量名在variable控件中設置,其中獲取傳過來的變量值,見上一條的獲取方式,3),使用變量中的值,使用#[flowVars.變量名]
    注,關于#[]的使用,可以理解成[]中的都是java代碼,可以執行語句;其中變量名會被自動解析,非變量則被當成字符串,可以進行拼接,與jsp標簽<%=%>很相像

  • ByteArraytoString 把接受到的流轉換為字符串(一般用于接受json和xml類型的參數,這種參數都是用流的方式接受到的) 這個控件的參數不需要設置

  • set payload 給payload設值,比如要傳入一個json對象,則把payload設置成json對象,當payload指向http控件時候,會自動把值傳給http控件

  • object to json : 把字符串轉成json格式 (當轉的數據中存在date類型的字段時,經常需要進行序列化操作,目前還不知道該怎么操作,可以使用transform message控件代替)

  • transform message : 數據轉換,把一種數據格式轉換成另一種數據格式,把待轉換的數據的字段與轉換后的字段對應起來即可。當被轉換的數據格式是從數據庫中查出來的記錄時(此時payload是一個list<map<String , Object>>),會自動顯示待被轉換的字段,即map中的key值,除了該格式的數據外,其他格式的數據字段(如json)不會自動顯示出來,需要setMeta,轉換后的數據的字段一定要setMeta,一般都是json數據,我們現在java/main/resource中創建一個json模板,把該模板設置為轉換后的數據格式(具體怎么把模板設置為數據格式,暫時不做記錄)

  • 數據轉換的兩種方式:
    1) transform message 如果要把 list的數據轉成任意的數據,則在transform在input中會自動識別出列名,然后自己需要自定義轉換后的數據格式,在output中設置,然后把input和output中的列名對應起來;如果是要把非list的數轉成其他格式,則input 和output中的數據都需要自己定義格式
    2) object to json 把數據轉成json格式,使用方式見7

  • 批量添加(insert bulk): 先把database加入到flow中,選中database的Bulk Modle 選項,然后再把transform拖到database前進行數據轉換

  • postman傳的中文是亂碼, 在Content-Type中追加: ;charSet=utf-8

  • Groovy :用于寫腳本語言(有兩個,用的是藍色的那個,紅色的那個的作用還不知道)

  • Catch Exception Strategy:用于處理異常。 當正常的flow執行下去遇到異常的時候,跳轉到下面的Error Handling中執行。這個時候的payload還是可以像之前那么使用。

  • 轉載于:https://www.cnblogs.com/jinxiuze/p/7940394.html

    總結

    以上是生活随笔為你收集整理的ESB控件的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。