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. StringBuffer与StringBuilder差别

    从JDK源代码能够看出,StringBuffer和StringBuilder都是继承自AbstractStringBuilder,事实上这两个类的功能实现都是在AbstractStringBuilde ...

  2. 绝望的主妇第八季/Desperate Housewives迅雷下载

    绝望的主妇 第七季 Desperate Housewives Season 8(2011) 本季看点:曾经在<主妇>中有过重要演出的达娜·德拉尼(Dana Delany), 凯尔·麦克拉克 ...

  3. ExtJS 4.2 教程-01:Hello ExtJS

    转载自起飞网,原文地址:http://www.qeefee.com/extjs-course-1-hello-extjs, 本文还发布在了ExtJS教程网站起飞网上面,如果转载请保留本段声明,谢谢合作 ...

  4. .Net Standard简介

    .NET Standard 是一套正式的 .NET API 规范,有望在所有 .NET 运行时中推出. 推出 .NET Standard 的背后动机是要提高 .NET 生态系统中的一致性. ECMA ...

  5. Node.js SDK与fabric链码交互开发

    1.本篇背景 前面已经对链码开发作了比较详细的介绍,并且对官方提供的 fabcar 链码进行了解读,本篇将介绍如何使用 Node.js SDK 与区块链网络中的链码进行交互. 本篇内容基本来自官方 H ...

  6. 分享一个Panda C-60 维修心得

    昨天丰臣国际搞了个汽车后备箱市场,说白了就是一帮闲的没事儿的"白领"大热天把自家闲置的东西拿过来练练摊,这个形式还是不错的,中间看到了一个熊猫的CD机,一眼就看上了,虽说CD早就过 ...

  7. 怎么选择软件许可证,Apache, MIT, BSD, GPL, Mozilla, LGPL

  8. [leetcode]Next Permutation @ Python

    原题地址:https://oj.leetcode.com/problems/next-permutation/ 题意: Implement next permutation, which rearra ...

  9. ASP.NET中Session的个人浅谈

    看到博客园的一个哥们写的面试经历,想到了面试中常问到的Session,一时手痒就谈下自己对Session的理解,这东西最开始在用户登录登出的时候用到过,后来一直没怎么用过,里面还是有很多知识点值得注意 ...

  10. Python3 简单验证码识别思路及实例

    1.介绍 在爬虫中经常会遇到验证码识别的问题,现在的验证码大多分计算验证码.滑块验证码.识图验证码.语音验证码等四种.本文就是识图验证码,识别的是简单的验证码,要想让识别率更高, 识别的更加准确就需要 ...