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 装配到一个

   了解逻辑数据流

 


目录
相关文章
|
2月前
|
并行计算 PyTorch 算法框架/工具
vLLM 架构学习指南
本指南深入解析vLLM高性能推理引擎架构,涵盖核心创新PagedAttention与连续批处理技术,结合代码结构、学习路径与实践建议,系统指导用户从入门到贡献源码的全过程。
560 2
vLLM 架构学习指南
|
5月前
|
安全 vr&ar
降本增效神器:AR眼镜远程协助在数字化工业的应用
AR眼镜助力工业维修,实现远程实时协助,提升效率,降低成本,推动工业智能化发展。
|
监控 供应链 定位技术
什么是 eCPM?它与 CPM 有何不同?
这篇文章解释了eCPM(每千人有效成本)的概念,它与CPM(每千人成本)的区别,如何计算eCPM,以及eCPM的主要优势和底价设置。文章还探讨了影响eCPM值的因素,以及如何确定合适的eCPM目标。
5475 2
什么是 eCPM?它与 CPM 有何不同?
|
6月前
|
网络协议 开发工具 git
解决 git 报错 “fatal: unable to access ‘https://github.com/.../.git‘: Recv failure Connection was rese
在使用 Git/Git小乌龟 进行代码管理的过程中,经常会遇到各种各样的问题,其中之一就是在执行 git clone 或 git pull 等操作时出现 “fatal: unable to access ‘https://github.com/…/.git’: Recv failure Connection was reset” 的报错。这个问题通常是由网络连接问题或代理设置不正确导致的。在我的个人使用经验中,我亲自尝试了四种方法,它们都能够有效地解决这个报错。个人比较推荐方法二。
2943 0
|
10月前
|
JSON 缓存 自然语言处理
陈天奇团队LLM结构化生成新引擎XGrammar:百倍加速、近零开销
陈天奇团队提出XGrammar,一种新型结构化生成引擎,专注于高效生成结构化输出。XGrammar通过分类处理上下文无关和相关词汇,结合预计算、缓存及持久化执行栈,显著提升性能,实现百倍加速,令牌掩码生成时间缩短至40微秒以下。它在文本、代码生成等任务中表现出色,支持跨平台部署,尤其在JSON语法下比现有引擎快3-100倍。尽管存在分类准确性等挑战,XGrammar仍展示了广泛的应用潜力。论文:https://arxiv.org/pdf/2411.15100
263 11
|
12月前
|
数据采集 安全 easyexcel
如何快速获取开源组件信息
本文介绍如何使用IP代理技术获取开源组件信息,特别是针对GitHub上的项目。首先讲解了IP代理的重要性及其在突破反爬虫机制、保护隐私等方面的作用,接着详细介绍了Bright Data这一代理IP平台的优势,包括强大的代理网络、灵活的定价策略、合规的数据采集及专业的客户支持。最后,通过Python代码示例展示了如何利用Bright Data的代理IP来爬取GitHub项目的Watch、Fork、Star等信息,帮助评估开源组件的活跃度和维护情况。
247 3
|
存储 Java API
Android系统 文件访问权限笔记
Android系统 文件访问权限笔记
1584 1
|
Ubuntu 关系型数据库 MySQL
解决方案:MySQL数据表明明存在,但是就是报错表不存在,原来是需要配置 MySQL 忽略表名大小写!
解决方案:MySQL数据表明明存在,但是就是报错表不存在,原来是需要配置 MySQL 忽略表名大小写!
1304 0
|
机器学习/深度学习 自然语言处理 数据处理
RNN vs LSTM:序列数据处理的选择
RNN vs LSTM:序列数据处理的选择
581 0