码迷,mamicode.com
首页 > 其他好文 > 详细

ESB控件的使用

时间:2017-12-01 11:30:32      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:序列   选中   添加   语言   jsp标签   参数   except   form   post   

esb控件记录

1.src/main/resouses 文件夹中放需要解析的文件
2.src/main/java中写java代码,一般不写,只有当mule不能实现功能的时候才会写代码


  1. flow : 相当于是一个过程,顺序执行

  2. payload : 相当于是一个指向栈顶的指针,执行的过程,每经过一个组件 ,把组件压入栈中,payload指向的对象都是栈顶元素,都是在动态变化,前提是connector是有输出的如果没输出,我们认为这个connector没有压入栈中好了,栈的大小为1 ,其中logger 和 variable的connector 没有数据输出,payload经过这两个connector,值不会发生变化

  3. post方式获取请求发送的方式 #[payload.变量名]
    get方式获取请求发送的方式#[message.inboundProperties.‘http.query.params‘.变量名]

  4. variable:获取get ,post中传过来的参数,放入变量中(变量名在variable控件中设置,其中获取传过来的变量值,见上一条的获取方式,3),使用变量中的值,使用#[flowVars.变量名]
    注,关于#[]的使用,可以理解成[]中的都是java代码,可以执行语句;其中变量名会被自动解析,非变量则被当成字符串,可以进行拼接,与jsp标签<%=%>很相像

  5. ByteArraytoString 把接受到的流转换为字符串(一般用于接受json和xml类型的参数,这种参数都是用流的方式接受到的) 这个控件的参数不需要设置

  6. set payload 给payload设值,比如要传入一个json对象,则把payload设置成json对象,当payload指向http控件时候,会自动把值传给http控件

  7. object to json : 把字符串转成json格式 (当转的数据中存在date类型的字段时,经常需要进行序列化操作,目前还不知道该怎么操作,可以使用transform message控件代替)

  8. transform message : 数据转换,把一种数据格式转换成另一种数据格式,把待转换的数据的字段与转换后的字段对应起来即可。当被转换的数据格式是从数据库中查出来的记录时(此时payload是一个list

  9. 数据转换的两种方式:
    1) transform message 如果要把 list的数据转成任意的数据,则在transform在input中会自动识别出列名,然后自己需要自定义转换后的数据格式,在output中设置,然后把input和output中的列名对应起来;如果是要把非list的数转成其他格式,则input 和output中的数据都需要自己定义格式
    2) object to json 把数据转成json格式,使用方式见7

  10. 批量添加(insert bulk): 先把database加入到flow中,选中database的Bulk Modle 选项,然后再把transform拖到database前进行数据转换

  11. postman传的中文是乱码, 在Content-Type中追加: ;charSet=utf-8

  12. Groovy :用于写脚本语言(有两个,用的是蓝色的那个,红色的那个的作用还不知道)

  13. Catch Exception Strategy:用于处理异常。 当正常的flow执行下去遇到异常的时候,跳转到下面的Error Handling中执行。这个时候的payload还是可以像之前那么使用。

ESB控件的使用

标签:序列   选中   添加   语言   jsp标签   参数   except   form   post   

原文地址:http://www.cnblogs.com/jinxiuze/p/7940394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!