mule学习笔记 mule学习笔记

 

1、安装&配置

版本:mule 2.2.1

操作:

1) 下载、解压

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

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

1 #wrapper.java.additional.<n>=-Dhttp.proxyHost=YOUR_HOST  
2 #wrapper.java.additional.<n>=-Dhttp.proxyPort=YOUR_PORT  
3 #wrapper.java.additional.<n>=-Dhttp.proxyUsername=YOUR_USER_NAME  
4 #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:

1 package demo.mule.umo;  
2   
3 public interface HelloWorld {  
4     public String sayHello(String str);  
5       
6 }  

5)实现类:

1 package demo.mule.umo.impl;  
2 import demo.mule.umo.HelloWorld;  
3 public class HelloWorldImpl implements HelloWorld {  
4     @Override  
5     public String sayHello(String str) {  
6         return "Hello," + str;  
7     }  
8 }  

6)配置config文件

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

 1 <?xml version="1.0" encoding="UTF-8"?>  
 2 <mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"  
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 4        xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2"  
 5     xsi:schemaLocation="  
 6        http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd  
 7        http://www.mulesource.org/schema/mule/stdio/2.2 http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd">  
 8     <stdio:connector name="SystemStreamConnector"      
 9         promptMessage="Please enter yout name: " messageDelayTime="1000"/>   
10           
11     <model name="HelloSample">        
12         <service name="HelloUMO">      
13             <inbound>      
14                 <stdio:inbound-endpoint system="IN" />     
15             </inbound>                 
16             <component class="demo.mule.umo.impl.HelloWorldImpl"/>      
17       
18             <outbound>      
19                 <pass-through-router>      
20                     <stdio:outbound-endpoint system="OUT" />      
21                 </pass-through-router>      
22             </outbound>      
23         </service>            
24     </model>  
25       
26 </mule>  

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

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

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

 1 package demo.main;  
 2 import org.mule.api.MuleContext;  
 3 import org.mule.api.MuleException;  
 4 import org.mule.api.config.ConfigurationException;  
 5 import org.mule.api.context.MuleContextFactory;  
 6 import org.mule.api.lifecycle.InitialisationException;  
 7 import org.mule.config.spring.SpringXmlConfigurationBuilder;  
 8 import org.mule.context.DefaultMuleContextFactory;  
 9 public class MuleMain {  
10     public static void main(String[] args) throws ConfigurationException,  
11             InitialisationException {  
12         try {  
13             String configFile = "sudIo-config.xml";  
14             String[] configFileArr = new String[] { configFile };  
15             MuleContextFactory muleContextFactory = new DefaultMuleContextFactory();  
16             MuleContext context = muleContextFactory  
17                     .createMuleContext(new SpringXmlConfigurationBuilder(  
18                             configFileArr));  
19             context.start();  
20         } catch (MuleException t) {  
21             t.printStackTrace();  
22         }  
23     }  
24 }  

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

然后就可以运行文件了。

2、通过maven构建项目

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

如下配置:

 1 <?xml version="1.0" encoding="UTF-8"?>  
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
 4     <modelVersion>4.0.0</modelVersion>  
 5     <groupId>mule</groupId>  
 6     <artifactId>mule</artifactId>  
 7     <packaging>jar</packaging>  
 8     <version>1.0</version>  
 9     <properties>  
10         <muleVersion>2.2.1</muleVersion>  
11     </properties>  
12     <dependencies>  
13         <dependency>  
14             <groupId>org.mule.modules</groupId>  
15             <artifactId>mule-module-spring-config</artifactId>  
16             <version>${muleVersion}</version>  
17         </dependency>  
18         <dependency>  
19             <groupId>org.mule.transports</groupId>  
20             <artifactId>mule-transport-stdio</artifactId>  
21             <version>${muleVersion}</version>  
22         </dependency>  
23     </dependencies>  
24 </project>  

OK。其他和第一步一样。

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