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(); } } }
异步请求-响应方式适用于请求需要被多个远程服务并行处理,结果需要汇总处理后返回的场景。
相关推荐
- 异步请求-响应(事件驱动):更适合于处理非即时性的请求,能够提高系统的整体性能与扩展性。 4. **支持多种传输协议:** - HTTP:主要用于Web服务。 - JMS:Java消息服务,用于Java应用之间的消息传递。 - ...
根据提供的文件内容,以下是关于Mule ESB手册-中文版的知识点: 1. Mule ESB简介 ...通过这些知识点的学习,可以加深对Mule ESB的使用方法的理解,并通过实例加深对ESB概念的理解,对新手来说非常有帮助。
"mule-standalone-3.9.0.zip"是一个包含Mule ESB独立运行时环境的压缩包,版本为3.9.0。在本文中,我们将深入探讨Mule ESB的核心概念、功能以及3.9.0版本的特性。 Mule ESB是基于Java的轻量级服务导向架构(SOA)...
`mule-spring-configuration.dtd`和`mule-configuration.dtd`是Mule ESB的XML配置文件的DTD(文档类型定义),它们规定了XML配置文件的结构和元素。Spring是Mule ESB的核心组件之一,负责管理对象的生命周期和依赖...
在Mule-enterprise-standalone-3.4.2这个文件中,包含了完整的Mule运行时环境,包括Mule ESB的服务器、依赖库和其他必要的组件。 9. **版本管理**:升级或维护MULE ESB时,需要注意兼容性问题,同时需要备份现有...
换句话说,用户期望应用程序能够响应他们的请求。过滤器判断收到的消息是否有效,然后将其传递给其他组件进行处理。 结论 ---------- Mule ESB Studio 3.3 是一个功能强大且灵活的集成平台,旨在帮助开发者快速...
3. **异步、同步和请求-响应处理**:Mule ESB支持在任何传输协议上处理异步、同步和请求-响应模式的事件,提高了系统的灵活性和效率。 4. **Web服务支持**:Mule ESB能够处理基于Axis或Glue的Web服务,支持SOAP和...
### MuleESB3.0中文教程知识点梳理 #### 一、Mule ESB 3.0概述 - **定位**:Mule ESB 3.0是一款轻量级的消息框架和整合平台,旨在帮助企业轻松地集成不同的系统和服务。 - **核心特性**:基于EIP(Enterprise ...
3. 支持任何传输之上的异步、同步和请求响应事件处理机制。 4. 支持 Axis 或者 Glue 的 Web Service。 5. 灵活的部署结构 [Topologies],包括 Client/Server、P2P、ESB 和 Enterprise Service Network。 6. 与 ...
在本篇“Mule ESB 学习笔记(13)CSV数据文件到数据库”中,我们将探讨如何使用Mule ESB(Enterprise Service Bus,企业服务总线)处理CSV(Comma Separated Values,逗号分隔值)数据,并将其有效地导入到数据库中...
创建完成后,你将在项目中看到默认的Mule配置文件(mule-config.xml)。 ### 4. 设计数据流 Mule应用的核心是数据流,它定义了消息如何在不同组件之间流动。在Mule Studio的设计视图中,你可以通过拖放组件(如...
3. 解压缩mule-standalone-4.1.1文件夹,这包含了Mule ESB的运行环境。 4. 将导出的Mule应用ZIP文件复制到mule-standalone-4.1.1目录下的`apps`目录。 5. 启动Mule服务器(通常通过运行`bin\standalone.bat`或`bin\...
1. **事件驱动架构**:Mule ESB基于事件驱动模型,能够实时响应系统中的变化,实现快速的数据传输和处理。 2. **无代码/低代码开发**:通过图形化的工作流设计工具Anypoint Studio,开发者可以直观地构建和部署集成...
Mule ESB通过提供一种松散耦合的方式,降低了系统间的依赖性,提高了系统的可维护性和可扩展性。 2. **Mule ESB架构**:Mule ESB基于事件驱动的架构,允许它快速响应系统中的变化。它由消息代理、连接器、数据转换...
Mule ESB 是一个轻量级的基于java的企业服务总线和集成平台, 使得开发人员可以快速,简单的连接多个应用, 使得它们可以交换数据。 Mule ESB 容易集成现有异构系统,包括:JMS, Web Services, JDBC, HTTP, 等. ESB...
本教程将带您入门Mule ESB项目,通过实例学习其核心概念和操作。 首先,我们需要理解ESB的基本概念。ESB作为一个中间件,它的主要作用是提供一种松耦合的方式,使得各个系统之间可以通过标准接口进行通信,而不是...
本篇文章将详细介绍如何通过具体的示例来了解Mule ESB 的基本使用方法,尤其适合初学者入门学习。 #### 二、Mule Studio 安装与配置 ##### 1. 安装前的准备 在安装 Mule Studio 之前,需要先确保已经完成了以下...
5. **事件驱动架构**:Mule ESB基于事件模型,能够响应并处理来自不同系统的事件。 6. **云集成**:支持与云平台如AWS、Azure、Google Cloud的集成。 《Mule ESB Cookbook随书源码》中的样本项目可能涵盖了以下主题...