`
longgangbai
  • 浏览: 7337995 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Mule ESB 学习笔记(5)异步请求-响应方式

阅读更多

5.4 异步请求-响应方式

异步请求-响应方式即请求方调用服务后不需要立即获得返回结果,component将请求发送给其他外围系统处理(可能有多个),全部处理完毕后通过指定的异步应答Router返回给请求方。

图 Asynchronous Request-Response

异步请求-响应方式通过在OutBound Endpoint中增加reply-to以及增加async-reply节点实现,响应配置如下:

cxf-synchronous-request-response.xml

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:spring="http://www.springframework.org/schema/beans"
      xmlns:stdio="http://www.mulesoft.org/schema/mule/stdio"
      xmlns:vm="http://www.mulesoft.org/schema/mule/vm"
      xmlns:http="http://www.mulesoft.org/schema/mule/http"
      xmlns:https="http://www.mulesoft.org/schema/mule/https"
      xmlns:mulexml="http://www.mulesoft.org/schema/mule/xml"
      xmlns:axis="http://www.mulesoft.org/schema/mule/axis"
      xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf"
      xsi:schemaLocation="
                  http://www.mulesoft.org/schema/mule/stdio http://www.mulesoft.org/schema/mule/stdio/current/mule-stdio.xsd
           http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
           http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
           http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
           http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/current/mule-vm.xsd
           http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/schema/mule/cxf/current/mule-cxf.xsd">
  <vm:connector name="vm"
        numberOfConcurrentTransactedReceivers="1" />
        
        
    <stdio:connector name="stdioConnector"
         messageDelayTime="1234" outputMessage="输出信息" promptMessage="输入信息:" />
	<model>
		<service name="async req-rep">  
		    <inbound>  
		         <stdio:inbound-endpoint name="in" system="IN"     connector-ref="stdioConnector" exchange-pattern="one-way" />
		    </inbound>  
		    <component class="com.easyway.esb.mule.cxf.StdIo" />  
		    <outbound>  
		        <multicasting-router>  
		            <vm:outbound-endpoint path="async.queue1" exchange-pattern="one-way" />  
		            <vm:outbound-endpoint path="async.queue2" exchange-pattern="one-way" />  
		            <reply-to address="vm://reply" />  
		        </multicasting-router>  
		    </outbound>  
		    <async-reply timeout="5000" failOnTimeout="true">  
		        <vm:inbound-endpoint path="reply" exchange-pattern="one-way" />  
		        <single-async-reply-router />  
		    </async-reply>  
		</service>
	</model>
</mule>

 

服务器启动并测试:

 

 

 

public class MuleCxfMain {
    
    public static void main(String[] args) {
        try {
            String configFile = "cxf-synchronous-request-response.xml";
            String[] configFileArr = new String[] {configFile };
            MuleContextFactory muleContextFactory = new DefaultMuleContextFactory();
            MuleContext muleContext = muleContextFactory.createMuleContext(new SpringXmlConfigurationBuilder(
                    configFileArr));
            muleContext.start();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

 

异步请求-响应方式适用于请求需要被多个远程服务并行处理,结果需要汇总处理后返回的场景。

 

分享到:
评论

相关推荐

    ESB原理及Mule ESB实践

    - 异步请求-响应(事件驱动):更适合于处理非即时性的请求,能够提高系统的整体性能与扩展性。 4. **支持多种传输协议:** - HTTP:主要用于Web服务。 - JMS:Java消息服务,用于Java应用之间的消息传递。 - ...

    Mule ESB手册-中文版

    根据提供的文件内容,以下是关于Mule ESB手册-中文版的知识点: 1. Mule ESB简介 ...通过这些知识点的学习,可以加深对Mule ESB的使用方法的理解,并通过实例加深对ESB概念的理解,对新手来说非常有帮助。

    mule-standalone-3.9.0.zip

    "mule-standalone-3.9.0.zip"是一个包含Mule ESB独立运行时环境的压缩包,版本为3.9.0。在本文中,我们将深入探讨Mule ESB的核心概念、功能以及3.9.0版本的特性。 Mule ESB是基于Java的轻量级服务导向架构(SOA)...

    mule -esb 源码

    `mule-spring-configuration.dtd`和`mule-configuration.dtd`是Mule ESB的XML配置文件的DTD(文档类型定义),它们规定了XML配置文件的结构和元素。Spring是Mule ESB的核心组件之一,负责管理对象的生命周期和依赖...

    MULE ESB-4.1企业版运行环境

    在Mule-enterprise-standalone-3.4.2这个文件中,包含了完整的Mule运行时环境,包括Mule ESB的服务器、依赖库和其他必要的组件。 9. **版本管理**:升级或维护MULE ESB时,需要注意兼容性问题,同时需要备份现有...

    Mule ESB Studio 3.3中文使用手册(官方翻译)

    换句话说,用户期望应用程序能够响应他们的请求。过滤器判断收到的消息是否有效,然后将其传递给其他组件进行处理。 结论 ---------- Mule ESB Studio 3.3 是一个功能强大且灵活的集成平台,旨在帮助开发者快速...

    mule esb 的简单介绍

    3. **异步、同步和请求-响应处理**:Mule ESB支持在任何传输协议上处理异步、同步和请求-响应模式的事件,提高了系统的灵活性和效率。 4. **Web服务支持**:Mule ESB能够处理基于Axis或Glue的Web服务,支持SOAP和...

    MuleESB3.0中文教程

    ### MuleESB3.0中文教程知识点梳理 #### 一、Mule ESB 3.0概述 - **定位**:Mule ESB 3.0是一款轻量级的消息框架和整合平台,旨在帮助企业轻松地集成不同的系统和服务。 - **核心特性**:基于EIP(Enterprise ...

    MuleEsb开源框架简介.pdf

    3. 支持任何传输之上的异步、同步和请求响应事件处理机制。 4. 支持 Axis 或者 Glue 的 Web Service。 5. 灵活的部署结构 [Topologies],包括 Client/Server、P2P、ESB 和 Enterprise Service Network。 6. 与 ...

    Mule ESB 学习笔记(13)CSV数据文件到数据库

    在本篇“Mule ESB 学习笔记(13)CSV数据文件到数据库”中,我们将探讨如何使用Mule ESB(Enterprise Service Bus,企业服务总线)处理CSV(Comma Separated Values,逗号分隔值)数据,并将其有效地导入到数据库中...

    一步步了解ESB (二) Mule ESB-Basic Studio Tutorial

    创建完成后,你将在项目中看到默认的Mule配置文件(mule-config.xml)。 ### 4. 设计数据流 Mule应用的核心是数据流,它定义了消息如何在不同组件之间流动。在Mule Studio的设计视图中,你可以通过拖放组件(如...

    MULE ESB-4.1社区办运行环境

    3. 解压缩mule-standalone-4.1.1文件夹,这包含了Mule ESB的运行环境。 4. 将导出的Mule应用ZIP文件复制到mule-standalone-4.1.1目录下的`apps`目录。 5. 启动Mule服务器(通常通过运行`bin\standalone.bat`或`bin\...

    MuleESB帮助文档

    1. **事件驱动架构**:Mule ESB基于事件驱动模型,能够实时响应系统中的变化,实现快速的数据传输和处理。 2. **无代码/低代码开发**:通过图形化的工作流设计工具Anypoint Studio,开发者可以直观地构建和部署集成...

    MuleESB_3.0_中文教程

    Mule ESB通过提供一种松散耦合的方式,降低了系统间的依赖性,提高了系统的可维护性和可扩展性。 2. **Mule ESB架构**:Mule ESB基于事件驱动的架构,允许它快速响应系统中的变化。它由消息代理、连接器、数据转换...

    mule IDE (mule ESB)

    Mule ESB 是一个轻量级的基于java的企业服务总线和集成平台, 使得开发人员可以快速,简单的连接多个应用, 使得它们可以交换数据。 Mule ESB 容易集成现有异构系统,包括:JMS, Web Services, JDBC, HTTP, 等. ESB...

    mule esb 项目 例子 入门

    本教程将带您入门Mule ESB项目,通过实例学习其核心概念和操作。 首先,我们需要理解ESB的基本概念。ESB作为一个中间件,它的主要作用是提供一种松耦合的方式,使得各个系统之间可以通过标准接口进行通信,而不是...

    Mule ESB 开发例子

    本篇文章将详细介绍如何通过具体的示例来了解Mule ESB 的基本使用方法,尤其适合初学者入门学习。 #### 二、Mule Studio 安装与配置 ##### 1. 安装前的准备 在安装 Mule Studio 之前,需要先确保已经完成了以下...

    mule esb cookbook 随书源码

    5. **事件驱动架构**:Mule ESB基于事件模型,能够响应并处理来自不同系统的事件。 6. **云集成**:支持与云平台如AWS、Azure、Google Cloud的集成。 《Mule ESB Cookbook随书源码》中的样本项目可能涵盖了以下主题...

Global site tag (gtag.js) - Google Analytics