博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mule ESB-Content-Based Routing Tutorial(1)
阅读量:4048 次
发布时间:2019-05-25

本文共 2920 字,大约阅读时间需要 9 分钟。

这篇文章是翻译的,原英文:

 

在  中,你已经认识了 Mule Studio,并且创建了一个简单的“Hello,World”应用。

本教程将引导您如何使用 Mule Studio 构建一个稍微复杂的“Hello,World”应用,根据它们的内容路由信息。创建并在本地运行该示例后,您将能够应用你所学到的知识创建更复杂的应用。
内容:
一、假设 
二、目标
三、用选择路由器创建流程
四、配置流元素
五、运行应用
六、使用应用
七、编辑正在运行的应用
八、添加一个子流程
九、额外的加分任务
十、停止应用程序
十一、更进一步
一、假设
本教程假定您已经下载并安装了 Mule Studio 。如果你先前没有任何使用Eclipse或基于Eclipse的IDE的经验,请查看简要介绍Mule Studio的页面或者完成Basic Studio Tutorial. 
二、目标
在本教程中,你的目标是:
1、使用Mule Studio创建创建一个应用,根据你提供的路由选择器的逻辑路由信息。
2、使用Mule 表达式语言设置和调用流程变量。
3、在嵌入Mule Studio的本地运行环境中运行该应用
4、使用你的浏览器测试你的应用
5、在应用运行时,调整应用,有效地使用“热部署”。
6、编辑应用,将部分过程转移到子流程中。
7、(可选)用你的知识迎接一个额外的挑战。
三、用选择路由器创建流程
启动Mule Studio并创建一个新的,名为CBR  Tutorial. 的mule项目。如果您需要在启动Studio并创建一个项目时维护更多信息,请参阅 Basic Studio Tutorial 。
接下来,使用Studio元素板上的构件块创建应用模型,如下: 
1、接收一个HTTP请求
2、遍历请求,过滤掉所有“favicon.ico”
3、把入站属性转换成一个流程变量
4、根据与该消息相关联的流量变量路由消息
5、设置基于路由逻辑的新的消息内容
6、将该消息内容用作一个HTTP响应
7、将总结性结果记录到控制台
你可以在Studio中使用这些构建块模拟这个应用:
HTTP endpoint 让你的Mule应用程序通过HTTP或HTTPS协议连接到Web资源;在元素板的端点部分找到这个端点
Expression Filter 使用Mule表达式可以过滤消息。可以在元素板的过滤器部分找到这个消息处理器
Variable Transformer 可以在消息中设置一个流程变量,以便在流程的其他地方使用该变量。可以在元素板的转换器部分找到这个消息处理器
Choice Router 根据配置的路由逻辑路由传入的消息;可以在元素板的流程控制部分找到这个处理器
Set Payload Transformer 修改http内容为Hello,World; 在元素板的转换器部分找到这个转换器
Logger 根据mule表达式的值记录日志信息或活动;在元素板的组件部分找个这个组件

 

拖放这些构件块到画布上,可直观地构造或模型化,一个流程,如下所示。
具体步骤省略。

只需点击几下,你已经在Mule Studio的画布上创建了一个完整的应用。
在下一部分,一旦你在画布上配置了各个元素,这个流程将完成你的应用要实现的目标。

四、配置流程元素
接下来,配置流程元素,使应用根据你调用入站端点时URL中的包含几种不同语言的查询参数做出响应,例如,如果你调用http://localhost:8081/?language=French,应用程序应该使用法语响应你的请求。  
几乎所有的Mule元素提供配置选项,你可以通过以下两种方式之一设置:
*通过使用在Studio的可视化编辑器控制台上的构建块属性编辑器
*通过使用Studio的XML编辑器编辑XML代码,或使用任何其他的XML编辑环境。
下列指示引导你如何使用可视化编辑器和XML编辑器配置每个构建模块。使用标签可以控制在可视化编辑器和XML编辑器之间来回切换。
以下忽略可视界面(如果喜欢使用可视化界面,可参考我的上一篇译文),直接使用xml编辑器
HTTP端点
按如下所示配置HTTP端点:
表达式过滤器
这个表达式告诉Mule检查消息内容中不等于字符串' /favicon.ico"的部分 。如果表达式的值为true ,Mule传递消息到流中的下一个步节点。如果表达式计算为false ,Mule停止处理该消息。
按如下所示配置表达式过滤器:
变量转换器
这个转换器告诉Mule在所有传入消息中查找叫language的属性,如果发现,设置它(和它的值)为一个流程变量,元数据是以一个键/值对的形式在消息中携带。
按如下所示配置变量转换器:
选择路由器,然后构建消息处理器

按如下所示配置:

在选择路由器的每一个“when”子元素中,表达式告诉Mule在传入消息中寻找叫做language的流程变量,然后检查它是否等于西班牙语或法语。如果任何一个表达式的值被证明是true,Mule将消息路由到相应的嵌套消息处理器中。
如果在两个“when”元素中的表达式被证明是false,Mule将执行在“otherwish”子元素中的默认配置路由该消息,通过这种方式路由的消息拥有一个language=英语的设置,然后返回英语内容。
日志组件
日志组件根据选择路由的结果,会产生三种可能的消息。

按如下配置日志组件:

请注意,Studio会自动转义引号,按如下内容:

通过单击文件>来保存您的应用程序。
您的完整的应用程序XML,一旦配置,应该如下所示:

到此,该应用已经创建并配置完毕,下篇将运行并完善该应用。

忍不住吐槽几句,翻译这活真不是人干的,想翻译准确,真的不容易,不是会几个单词就能解决问题的,还要有很强的技术支撑,这样也不见得能翻译准确。如果英语能力过关,推荐看原著,翻译的东西,总感觉味道有些不一样,放在一起对比,反而觉得英文的原著更有味道些,不得不承认,老外的文档写得很用心,自己任重道远啊。

你可能感兴趣的文章
AS3 Flex基础知识100条
查看>>
Flex动态获取flash资源库文件
查看>>
flex4 中创建自定义弹出窗口
查看>>
01Java基础语法-16. while循环结构
查看>>
01Java基础语法-18. 各种循环语句的区别和应用场景
查看>>
01Java基础语法-19. 循环跳转控制语句
查看>>
Django框架全面讲解 -- Form
查看>>
socket,accept函数解析
查看>>
今日互联网关注(写在清明节后):每天都有值得关注的大变化
查看>>
”舍得“大法:把自己的优点当缺点倒出去
查看>>
[今日关注]鼓吹“互联网泡沫,到底为了什么”
查看>>
[互联网学习]如何提高网站的GooglePR值
查看>>
[关注大学生]求职不可不知——怎样的大学生不受欢迎
查看>>
[关注大学生]读“贫困大学生的自白”
查看>>
[互联网关注]李开复教大学生回答如何学好编程
查看>>
[关注大学生]李开复给中国计算机系大学生的7点建议
查看>>
[茶余饭后]10大毕业生必听得歌曲
查看>>
gdb调试命令的三种调试方式和简单命令介绍
查看>>
C++程序员的几种境界
查看>>
VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
查看>>