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

Mule ESB 学习笔记(4)同步方式

阅读更多

5.3 同步方式

         同步方式即请求方调用服务后,component将处理结果发送给另一个外部服务处理,并将处理结果反方向返回。

图 Synchronous

同步方式通过inboundoutbound endpointexchange-pattern=”request-response”实现,相应配置如下:

cxf-synchronous-request.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="stdioInEndpoint"
         messageDelayTime="1234"
            outputMessage="abc"/>

            
	<flow name="echo-flow">  
	    <inbound-endpoint address="http://localhost:7007/services/Echo"  
	        exchange-pattern="request-response" />  
	    <cxf:jaxws-service serviceClass="com.easyway.esb.mule.cxf.Echo" />  
	    <vm:outbound-endpoint path="vm" exchange-pattern="request-response" />  
	</flow>  
	
	
	<flow name="vm-flow">  
	    <vm:inbound-endpoint path="vm" exchange-pattern="request-response" />  
	    <component>  
	        <singleton-object class="com.easyway.esb.mule.cxf.VM" />  
	    </component>  
	    <stdio:outbound-endpoint system="OUT" exchange-pattern="one-way" />  
	</flow>


</mule>

 

 

 

 

 

import org.mule.api.MuleEventContext;

/**
 * <p>功能描述,该部分必须以中文句号结尾。<p>
 *
 * 创建日期 2013-8-22<br>
 * @author  $Author$<br>
 * @version $Revision$ $Date$
 * @since   3.0.0
 */
public class VM  implements  org.mule.api.lifecycle.Callable {
    /*
     *@see org.mule.api.lifecycle.Callable#onCall(org.mule.api.MuleEventContext)
     */
    @Override
    public Object onCall(MuleEventContext arg0) throws Exception {
        System.out.println("VM.....dispose");
        return "vm ,hello";
    }
}

 

测试:

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

 

 

同步方式适用于通过Mule调用远程服务的场景。

 

分享到:
评论

相关推荐

    mule -esb 源码

    通常,Mule ESB使用log4j或Logback作为日志框架,`log4j.properties`文件即为该框架的配置文件,它允许我们定制日志级别、输出目的地和格式。 `openejb.conf`和`openejb.properties`涉及到OpenEJB,这是一个开源的...

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

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

    Mule ESB手册-中文版

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

    MuleEsb开源框架简介.pdf

    Mule ESB 开源框架简介 Mule ESB 是一个基于 Java 的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。Mule ESB 支持集成现有系统而无论其底层采用何种技术,如 JMS、...

    MuleESB帮助文档

    五、学习和使用Mule ESB "MuleESB3"这个文件名可能指的是Mule ESB的第三个主要版本。在该版本中,用户可以期待更完善的特性和改进。对于初学者,建议首先通过官方文档了解Mule ESB的基本概念和工作原理,然后使用Any...

    mule IDE (mule ESB)

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

    MuleESB_3.0_中文教程

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

    MuleESB3.0中文教程

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

    mule esb cookbook 随书源码

    通过这个源码库,读者可以实际操作这些示例,加深对Mule ESB工作原理的理解,学习如何解决实际问题,从而提升在企业集成项目中的技能。记住,理论知识和实践经验相结合是掌握复杂技术的关键。因此,仔细研究这些源码...

    MULE ESB-4.1社区办运行环境

    MULE ESB-4.1社区版是Mulesoft为开发者提供的免费版本,它包含了基本的ESB功能,适合学习、开发和小规模项目部署。 在MULE ESB-4.1社区版中,主要包含以下几个关键组件和概念: 1. **AnyPoint Studio**: AnyPoint ...

    mule esb 项目 例子 入门

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

    mule esb 的简单介绍

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

    mule esb开发手册

    《Mule ESB 开发手册》是一份详尽的指南,专为希望深入了解并掌握 Mule ESB(Enterprise Service Bus)技术的...通过深入学习和实践,开发者可以充分利用 Mule ESB 的强大功能,实现高效、可靠的企业级集成解决方案。

    ESB原理及Mule ESB实践

    4. **Mule ESB的安装与配置** - MuleESB有两个版本:社区版和企业版。社区版免费,适合初学者和小型项目;企业版提供了更多高级特性和支持服务,适合大型企业和复杂项目。 - 下载并安装MuleESB后,可以通过Mule ...

    MuleESB学习笔记

    MuleESB是一个基于Java的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。MuleESB支持集成现有系统而无论其底层采用何种技术,如JMS、WebServices、JDBC、HTTP以及其他...

    mule ESB 3 user guider

    Mule ESB允许用户配置不同类型的消息处理样式,例如同步或异步处理。服务配置是实现消息路由和转换的关键,涉及到消息内容的解析、转换和传递等。 5. 端点配置: Mule ESB支持多种传输协议,用户需要学会配置Mule ...

    MULE ESB-4.1企业版运行环境

    MULE ESB(Mule Enterprise Service Bus)是Anypoint Platform的核心组件,它是一个强大的、全面集成的企业服务总线(ESB),专为构建、部署和管理API和集成解决方案而设计。MULE ESB-4.1是MuleSoft公司推出的企业版...

    Mule ESB应用部署

    Mule ESB应用部署 Mule ESB应用的目录结构,配置文件说明

Global site tag (gtag.js) - Google Analytics