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应用就搞定了。