MULE ESB中custom,flows,connectors等的使用方法

简介: 1. how to work     当你去检查一个消息在mule esb当中 是如何流动的时候,你回发现整个架构中存在着三个层面:应用层,整合层,以及传输层..     同样,在mule 开发中也有三种不同类型任务你需要去做:            (1)  服务组件开发 可以是存在的pojo,cloud connectors ,或者是包含业务逻辑的和消费,处理消息的sping

1. how to work

    当你去检查一个消息在mule esb当中 是如何流动的时候,你回发现整个架构中存在着三个层面:应用层,整合层,以及传输层..

    同样,在mule 开发中也有三种不同类型任务你需要去做:

           (1)  服务组件开发 可以是存在的pojo,cloud connectors ,或者是包含业务逻辑的和消费,处理消息的sping bean

           (2)  服务协调,通过配置各种 服务调停和协调必须得组件 去允许松耦合的组件去使用mule 流.

           (3)  服务整合 屏蔽协议让每个服务之间实现解耦合.

   摘翻自:http://www.mulesoft.org/documentation/display/MULE3CONCEPTS/How+Mule+Works

2. about mule configuration

    一个mule esb 配置文件就是一棵树,就像下图展示的一样(图:)

    图中的每个组件都提供了访问mule内部配置对象的能力:

    custom message processors 处理消息,修改消息或消息流.

    flows 使用message processors 去定义源头和目标之间的消息流 

    mule global configuration 全局配置,比如默认交易超时时间

    connectors 任何一中传输方式使用的非默认配置

    endpoints  定义接收和发送消息所使用的通道,地址,或者是路径,你可以在全局环境中配置它们,在多个flow中引用

    transformers 将数据从一种格式转换成另一种格式,你可以在全局环境中定义它们,在多个flow中引用.

    filters 过滤中不符合已定义规则的消息,,你可以在全局环境中定义它们,在多个flow中引用.

    models 一个或多个models将你得服务组件有逻辑性的组织起来

    services 一个或多一个service 封装了你的components,configure routers,endpoints,transformers,and filters.

   下面是一个简单的mule esb 配置文件样本.

  1. <mule xmlns="http://www.mulesoft.org/schema/mule/core" 
  2.       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  3.       xmlns:vm="http://www.mulesoft.org/schema/mule/vm" 
  4.       xsi:schemaLocation=" 
  5.           http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.0/mule.xsd 
  6.           http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/3.0/mule-vm.xsd"> 
  7.  
  8.     <vm:connector name="vmConnector" queueTimeout="5000"/> 
  9.  
  10.     <vm:endpoint name="CustomerRequests" path="customer.requests"/> 
  11.     <vm:endpoint name="CustomerResponses" path="customer.responses"/> 
  12.  
  13.     <custom-transformer name="ThisToThat" class="com.acme.transformer.ThisToThat"/> 
  14.  
  15.     <flow name="myBasicFlow"> 
  16.         <inbound-endpoint ref="CustomerRequests"/> 
  17.         <component class="com.acme.service.BasicService"/> 
  18.         <outbound-endpoint ref="CustomerResponses" transformer-refs="ThisToThat"/> 
  19.     </flow> 
  20. </mule> 
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:vm="http://www.mulesoft.org/schema/mule/vm"
      xsi:schemaLocation="
          http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.0/mule.xsd
          http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/3.0/mule-vm.xsd">

    <vm:connector name="vmConnector" queueTimeout="5000"/>

    <vm:endpoint name="CustomerRequests" path="customer.requests"/>
    <vm:endpoint name="CustomerResponses" path="customer.responses"/>

    <custom-transformer name="ThisToThat" class="com.acme.transformer.ThisToThat"/>

    <flow name="myBasicFlow">
        <inbound-endpoint ref="CustomerRequests"/>
        <component class="com.acme.service.BasicService"/>
        <outbound-endpoint ref="CustomerResponses" transformer-refs="ThisToThat"/>
    </flow>
</mule>

摘翻自: http://www.mulesoft.org/documentation/display/MULE3CONCEPTS/About+Mule+Configuration

3. understanding the mule architeture(了解mule的架构)

   about soa 面向服务架构,详情具体google.

   mediation 从消息中分离业务逻辑

   orchestration 在不同的服务组件中路由消息

   components 处理消息数据

   endpoints 把everyging 装配到一个

   了解逻辑数据流

 


目录
相关文章
|
Java Maven
使用maven构建项目报错Cannot change version of project facet Dynamic Web Module to 3.0解决方案
使用maven构建项目报错Cannot change version of project facet Dynamic Web Module to 3.0解决方案
使用maven构建项目报错Cannot change version of project facet Dynamic Web Module to 3.0解决方案
|
Dubbo 应用服务中间件 数据库
Dubbo分布式架构中 消费者报错Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded
Dubbo分布式架构中 消费者报错Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded
208 0
Dubbo分布式架构中 消费者报错Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded
|
缓存 中间件 API
【laravel】 Unable to prepare route [api/user] for serialization. Uses Closure.
【laravel】 Unable to prepare route [api/user] for serialization. Uses Closure.
627 0
【laravel】 Unable to prepare route [api/user] for serialization. Uses Closure.
|
SQL Java 分布式数据库
Drill storage plugin实现原理分析
# Drill Storage Plugin介绍 Drill是一个交互式SQL查询引擎,官方默认支持的数据源有hive、hbase、kafka、kudu、mongo、opentsdb、jdbc等,其中jdbc storage plugin可以覆盖所有支持jdbc协议的数据源,如:mysql、oracle等关系型数据库。所有数据源的接入都是通过drill的storage plugin实
2363 0