读书人

mule2.2.x架构(3)示例学习hello

发布时间: 2012-11-10 10:48:50 作者: rapoo

mule2.2.x架构(三)示例学习hello
mule2.2.x架构(三)示例学习hello

所有的示例文档
http://www.mulesoft.org/display/MULE2INTRO/Examples

本例参考示例地址
http://www.mulesoft.org/display/MULE2INTRO/Hello+World+Example

2.简单示例hello
2.1.接受标准输入驱动
主要分析了配置文件hello-config.xml
<!-- 提示语言,从hello-messages_zh_CN.properties中提取第三个元素 -->
<stdio:connector name="SystemStreamConnector"
promptMessageCode="3"
resourceBundle="messages.hello-messages"
messageDelayTime="1000"/>
<!-- 装换的工具类 -->
<custom-transformer name="StdinToNameString" transformer-refs="StdinToNameString"/>
</inbound>
<component transformer-refs="NameStringToChatString"/>
</inbound>
<component transformer-refs="ChatStringToString" />
</pass-through-router>
</outbound>
</service>
<!-- handler一些出错信息 -->
<service name="UserErrorHandler">
<inbound>
<vm:inbound-endpoint path="userErrorHandler" transformer-refs="ExceptionToString"/>
</inbound>
<outbound>
<pass-through-router>
<stdio:outbound-endpoint system="OUT"/>
</pass-through-router>
</outbound>
</service>
<service name="SystemErrorHandler">
<inbound>
<vm:inbound-endpoint path="systemErrorHandler"/>
</inbound>
<outbound>
<pass-through-router>
<stdio:outbound-endpoint system="ERR"/>
</pass-through-router>
</outbound>
</service>
</model>
2.2接受http请求驱动
主要分析了配置文件hello-http-config.xml,没有什么大的区别,主要是区分了第一个inbound,另外新增了transformer
<inbound>
<inbound-endpoint address="http://localhost:8888"
transformer-refs="HttpRequestToNameString" synchronous="true">
<not-filter>
<wildcard-filter pattern="/favicon.ico" />
</not-filter>
</inbound-endpoint>
</inbound>
以上是接受http请求的inbound,接受请求
http://localhost:8888?name=Ross
为啥是name=Ross
com.sillycat.easymule.hello.transformer.HttpRequestToNameString里面的NAME_REQUEST_PARAMETER就写死了再url里面去寻找
新增的transformer
<custom-transformer name="NameStringToChatString"
/>
<custom-transformer name="ChatStringToString"
/>
<custom-transformer name="HttpRequestToNameString"
/>
<custom-transformer name="ExceptionToString"
/>
<message-properties-transformer name="PlainTextResponseTransformer">
<add-message-property key="Content-Type" value="text/plain" />
</message-properties-transformer>

简单的测试完毕,基本上是按照英文文档上拷贝了一次。等学习完所有的example,再考虑如何和自己的系统结合。

读书人网 >软件架构设计

热点推荐