首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

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

2012-11-10 
mule2.2.x架构(三)示例学习hellomule2.2.x架构(三)示例学习hello所有的示例文档http://www.mulesoft.org/d

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,再考虑如何和自己的系统结合。

热点排行