如何使用mule message

来源:互联网 发布:知乎@公众号提问 编辑:程序博客网 时间:2024/06/18 10:08

在mule的组件与组件之间、流与流之间是通过消息进行交互的,在mule中称为mule message。这篇博客将结合官方给的例子,给大家介绍一下如何设置mule message中的pay Load内容。关于mule message的具体结构,将在后续博客中介绍。

首先需要在Anypoint studio中新建一个项目,我这里取名为workwithmulemessage。创建好项目后,从组件列表中拉取一个http Connector组件、Set Payload、Expression、Object to String、Logger到canvas区域中(由于都是拖拽组件,所以我这里就一起说明了):
这里写图片描述

配置HTTP组件
HTTP组件主要是接收http请求,配置HTTP可以接收的请求,主要配置的是ip、port、path这三项,可按以下步骤进行设置:
这里写图片描述

在小框点击OK后,我们可以看到connector configuration一栏已经被设置了,如果我们不再对path进行设置,则该HTTP组件能拦截“http://localhost:8081/”这样的请求,如果需要设置path,则可以在path一栏中设置,如果设置了,比如说设置为”/setPayload”,那么HTTP组件能拦截“http://localhost:8081/setPayload”这样的请求。

配置Set Payload
PayLoad是mule message中一个很重要的一个部分,关于mule message中的结构将在后续讲解。这里只说明Set Payload的使用,Set Payload故名思议就是设置Payload的值。我们选中Payload并设置Payload的内容为:”[‘favorite_animal’:’mule’,’favorite_color’:’blue’,’favorite_day’:’today’]”:
这里写图片描述

配置Expression
在Set Payload一步中,我们已经对Payload的具体值进行了设置,在Expression这个步骤中,我们将对Payload的内容进行修改,修改的动作是通过Expression组件实现的,具体配置如下图:
这里写图片描述

这里的意思是将payload.favorite_day字段的内容由“today”设置为“update_value”。

Object to String
该组件不需要设置,它的作用是把payload的内容转换为字符串,由于默认输出payload的内容为字节数组,不易于阅读,所以把payload的内容利用Object to String组件进行转换

Logger
该组件是对payload的内容打印到控制台。

通过以上的多个组件组合已经配置,我们实现了对payload的设置和修改,并且把payload的内容打印到控制台。

下面启动我们的mule应用,在浏览器输入http://localhost:8081/进行访问,我们可以通过Anypoint Studio的控制台和浏览器查看输出:
这里写图片描述

0 0