mule学习笔记

1、安装&配置

版本:mule 2.2.1

操作:

1) 下载、解压

2)配置环境变量:MULE_HOME、PATH

3)如果网络环境使用代理,找到%MULE_HOME%/conf目录下,找到wrapper.conf,修改

 #wrapper.java.additional.<n>=-Dhttp.proxyHost=YOUR_HOST
#wrapper.java.additional.<n>=-Dhttp.proxyPort=YOUR_PORT
#wrapper.java.additional.<n>=-Dhttp.proxyUsername=YOUR_USER_NAME
#wrapper.java.additional.<n>=-Dhttp.proxyPassword=YOUR_PASSWORD

根据需要修改,其中的<n>是按顺序修改,注意wrapper.conf全文中wrapper.java.additional.后面的序号写到第几,然后继续往下写。

打开cmd输入mule,同意他的声明,然后到example目录下找到echo目录,双击echo.bat,能运行就是安装成功了。

2、Hello world

惯例,第一个mule程序

目标:类似example中的echo,从终端输入信息,返回“hello,[输入的信息]”.

两种方法:

1、通过mule的插件mule IDE

这种方法比较简单。

1)打开Eclipse,更新http://dist.muleforge.org/mule-ide/updates/3.4/,重启,mule IDE就安装好了。

2)window-》preferences-》mule-》add-》找到你的mule目录-》apply-》ok

3)新建一个mule project

4)新建一个interface:

 package demo.mule.umo;  

 public interface HelloWorld {
public String sayHello(String str); }

5)实现类:

 package demo.mule.umo.impl;
import demo.mule.umo.HelloWorld;
public class HelloWorldImpl implements HelloWorld {
@Override
public String sayHello(String str) {
return "Hello," + str;
}
}

6)配置config文件

在项目的conf目录中添加XXXX.xml(文件名依照实际),mule的配置文件和spring非常类似,所以配置起来非常方便,ide的提示功能也能很好的实现。由于需要重终端输入,因此,需要配置标准的使用stdio。如下配置:

 <?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2"
xsi:schemaLocation="
http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
http://www.mulesource.org/schema/mule/stdio/2.2 http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd">
<stdio:connector name="SystemStreamConnector"
promptMessage="Please enter yout name: " messageDelayTime="1000"/> <model name="HelloSample">
<service name="HelloUMO">
<inbound>
<stdio:inbound-endpoint system="IN" />
</inbound>
<component class="demo.mule.umo.impl.HelloWorldImpl"/> <outbound>
<pass-through-router>
<stdio:outbound-endpoint system="OUT" />
</pass-through-router>
</outbound>
</service>
</model> </mule>

7)运行,运行有两种方法:

(1)右击你的XXXX.xml-》run as-》mule server

(2)新建一个类,如下:

 package demo.main;
import org.mule.api.MuleContext;
import org.mule.api.MuleException;
import org.mule.api.config.ConfigurationException;
import org.mule.api.context.MuleContextFactory;
import org.mule.api.lifecycle.InitialisationException;
import org.mule.config.spring.SpringXmlConfigurationBuilder;
import org.mule.context.DefaultMuleContextFactory;
public class MuleMain {
public static void main(String[] args) throws ConfigurationException,
InitialisationException {
try {
String configFile = "sudIo-config.xml";
String[] configFileArr = new String[] { configFile };
MuleContextFactory muleContextFactory = new DefaultMuleContextFactory();
MuleContext context = muleContextFactory
.createMuleContext(new SpringXmlConfigurationBuilder(
configFileArr));
context.start();
} catch (MuleException t) {
t.printStackTrace();
}
}
}

不要急着运行,右击项目-》properties-》java build path-》source-》add Folder-》把conf目录添加到classpath中-》OK

然后就可以运行文件了。

2、通过maven构建项目

1)新建一个maven项目,在pom中加入以来,例如该项目中你需要使用stdio,那只要加入这个和spring-config的依赖就行了

如下配置:

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mule</groupId>
<artifactId>mule</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
<properties>
<muleVersion>2.2.1</muleVersion>
</properties>
<dependencies>
<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-spring-config</artifactId>
<version>${muleVersion}</version>
</dependency>
<dependency>
<groupId>org.mule.transports</groupId>
<artifactId>mule-transport-stdio</artifactId>
<version>${muleVersion}</version>
</dependency>
</dependencies>
</project>

OK。其他和第一步一样。

至此,一个简单的mule应用就搞定了。

mule学习笔记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

随机推荐

  1. 初识安卓小程序(Android电话拨号器)

    首先,先创建一个安卓项目(我的版本号是4.4.2的),名字为"电话拨号器",创建的时候点击"clipart",如图: 然后在res目录下找到layout目录,找 ...

  2. C#学习笔记:预处理指令

    C#和C/C++一样,也支持预处理指令,下面我们来看看C#中的预处理指令. #region 代码折叠功能,配合#endregion使用,如下: 点击后如下: 条件预处理 条件预处理可以根据给出的条件决 ...

  3. JAVA使用Marvin在图片中搜索图片

    Java对图像的处理框架比较少,目前比较流行的有Jmagick以及Marvin,但Jmagick只能处理图像(上篇Java清除图片中的恶意信息(利用Jmagick)中对Jmagick已做过简略介绍), ...

  4. 尼基塔第一季/全集Nikita迅雷下载

    本季Nikita Season 1 第一季(2010)看点:尼基塔曾经是一个性格叛逆的问题少女,因为犯下重罪被处以死刑.一家秘密间谍机构将尼基塔从死牢里救了出来,伪造了她的死亡,将她训练成了一名间谍和 ...

  5. 邪恶力量第一至九季/全集Supernatural迅雷下载

    邪恶力量 第一季 Supernatural Season 1 (2005) 本季看点:一部充满吸引力的系列剧,超自然现象题材中的亲情与正义.迪恩(简森·阿克斯 Jensen Ackles 饰)和萨姆( ...

  6. 《深入理解Android内核设计思想》

    <深入理解Android内核设计思想> 基本信息 作者: 林学森 出版社:人民邮电出版社 ISBN:9787115348418 上架时间:2014-4-25 出版日期:2014 年5月 开 ...

  7. Docker 常用命令与操作

    介绍 此命令集合版本为 1.11.1 及以上 基础类 查看docker信息 # 查看docker版本 docker version # 显示docker系统的信息 docker info # 日志信息 ...

  8. Guava CharMatcher

    概述 CharMatcher提供了多种对字符串处理的方法, 它的主要意图有: 1. 找到匹配的字符 2. 处理匹配的字符 CharMatcher内部主要实现包括两部分: 1. 实现了大量公用内部类, ...

  9. 奇怪吸引子---Chua

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...

  10. CSS-设置Footer始终在页面底部

    Footer顾名思义页脚,如果内容多的时候在底部时感官很好,但是当内容变少(无法撑开一屏的时候)footer不固定在底部,影响美观,对于已经从事前端工作的工作的来说应该是比价工作中入门级别的问题了,由 ...