MULE学习笔记1

简介: 1、安装&配置 版本:mule 2.2.1 操作: 1) 下载、解压 2)配置环境变量:MULE_HOME、PATH 3)如果网络环境使用代理,找到%MULE_HOME%/conf目录下,找到wrapper.conf,修改 [java] view plaincopyprint? #wrapper.java.additional.<n&

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 
#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:

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

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.     } 
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。如下配置:

  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> 
<?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)新建一个类,如下:

  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.     } 
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的依赖就行了

如下配置:

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

目录
相关文章
|
网络协议 关系型数据库 数据库
PostgreSQL 数据库实现公网远程连接
PostgreSQL 数据库实现公网远程连接
|
Java 容器
阿里内部流传的JDK源码剖析手册!GitHub已获上千万的访问量
相信现在已经有很多小伙伴知道了“微软”要对JDK下手了! JDK是什么? jdk是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。jdk是整个java开发的核心,它包含了JAVA的运行环境和JAVA工具。相对而言,没有jdk的话,无法编译Java程序(指java源码.java文件),如果想只运行Java程序(指class或jar或其它归档文件),要确保已安装相应的JRE。
432 0
|
4月前
|
缓存 自然语言处理 数据可视化
阿里云百炼产品月刊【2025年7月】
阿里云百炼平台7月推出多项更新与活动,。通义大模型家族迎来五连发升级,推出Qwen-Plus-2025-07-28快照模型,支持1M上下文长度,新增Qwen3-Coder-Plus,具备强大Coding Agent能力。同时,通义万相2.2系列全面升级,文生图、文生视频能力大幅提升。多项模型限时优惠,Qwen3-Coder-Plus最高享5折,Qwen-Plus、Qwen-Turbo价格下调50%,Qwen-MT-Plus降价80%。应用模块新增UI设计器,支持可视化构建Web App。另有多种活动上线,包括Agent创客实训、Qwen3-Coder挑战赛及全栈焕新课程。
994 2
|
Java 数据安全/隐私保护 Windows
Windows Service 服务中,不能访问挂载目录(网络映射盘)
Windows Service 服务中,不能访问挂载目录(网络映射盘)
460 0
|
存储 固态存储 网络性能优化
OpenStack的块存储(Cinder)
【8月更文挑战第24天】
363 2
|
数据可视化
8个常见的数据可视化错误以及如何避免它们
本文揭示了8个数据可视化常见错误:误导色彩对比、过多的数据图表、省略基线、误导性标签、错误的可视化方法、不实的因果关系、放大有利数据和滥用3D图形。强调清晰、准确和洞察力的重要性,提醒制作者避免使用过多颜色、一次性展示大量数据、错误图表类型以及展示无关相关性等。正确可视化能有力支持决策,不应牺牲真实性以追求视觉效果。
1356 6
|
缓存 Java Spring
Java本地高性能缓存实践问题之的Caffeine设置刷新机制问题如何解决
Java本地高性能缓存实践问题之的Caffeine设置刷新机制问题如何解决
484 0
|
JavaScript API
Vue3通信方式之defineProps、defineEmits、useAttrs、插件mitt和v-model
Vue3通信方式之defineProps、defineEmits、useAttrs、插件mitt和v-model
625 0
|
人工智能 资源调度 前端开发
Hello~ ProChat 1.0 : 会话组件中 的“亿” 点点细节
Hello~ ProChat 1.0 : 会话组件中 的“亿” 点点细节
355 0
|
API
解决http下navigator.clipboard为undefined问题
总之,要解决 `navigator.clipboard`为 `undefined`的问题,你需要确保遵循浏览器的安全策略,使用HTTPS,获得用户授权,并在受信任的上下文中使用clipboard API。此外,还要确保你的代码在支持该API的浏览器上运行。如果问题仍然存在,可能需要进一步调查特定浏览器和环境的问题。
2208 3