zoukankan      html  css  js  c++  java
  • Mule入门基础

    Mule入门文档

    零、前提

    在按照本文进行操作之前,假设您的系统已经具备以下前提:

    • 已经安装了Sun公司的JDK1.4或JDK5.0版本,推荐使用JDK5.0。

    • 正确设置了JAVA_HOME环境变量到JDK目录(注意不是JRE目录)。

    • 确保%JAVA_HOME%in路径在系统寻找路径中。

    • 安装有Eclipse3.2或以上版本的开发环境。

    • 安装有Apache Tomcat 5.0或以上版本,推荐使用5.5。文档假设Tomcat的安装目录为%TOMCAT_HOME%。

    一、下载与安装

    到Mule的官方网站(http://mule.mulesource.org/display/MULE/Download)上下载Mule的最新稳定版,目前是1.3.3(http://www.mulesource.com/ccount/click.php?id=17),也可以使用社区版的1.4.1(http://www.mulesource.com/ccount/click.php?id=33)。本文档以1.3.3版为例,1.4.1请参照文档自行修改。

    下载后得到一个ZIP格式的压缩文件mule-1.3.3.zip,将该文件解压至任一目录,假设为C:mule-1.3.3,本文档以环境变量MULE_HOME表示该目录。

    二、运行Echo示例

    Mule自带了很多示例,从最简单的echo示例到一个比较完整的贷款中介服务loanbroker。每个示例程序都分为ant和maven两个版本,它们分别位于 %MULE_HOME%examplesant和 %MULE_HOME%examplesmaven目录下。文档将以ant版本为例说明如何运行echo示例。

    1、到apache官方网站的ant项目下载页(http://ant.apache.org/bindownload.cgi)上下载ant1.7.0(http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.0-bin.zip),下载后将文件解压到任一目录(假设为C:apache-ant-1.7.0,文档中表示为ANT_HOME环境变量)。

    2、设置环境变量ANT_HOME到ant的解压目录,如:

    ANT_HOME=C:apache-ant-1.7.0

    3、将%ANT_HOME%in加入到系统寻找路径中,如:

    PATH=%ANT_HOME%in;%PATH%

    4、启动命令行窗口,进入%MULE_HOME%examplesantecho目录,执行下面命令:

    echo.bat

    示例程序会先显示一个License信息,输出一些日志记录,最终出现以下信息:

    INFO 2007-08-29 16:54:44,062 [WrapperSimpleAppMain] org.mule.MuleManager:

    **********************************************************************

    * Mule ESB and Integration Platform version Not Set                 *

    * Not Set                                                           *

    * For more information go to http://mule.mulesource.org             *

    *                                                                   *

    * Server started: 2007年8月29日 星期三 下午04时54分42秒 CST          *

    * Server ID: Mule_Echo_Sample                                       *

    * JDK: 1.5.0_11 (mixed mode, sharing)                               *

    * OS: Windows XP - Service Pack 2 (5.1, x86)                        *

    * Host: zengfl (192.168.25.71)                                      *

    *                                                                   *

    * Agents Running:                                                   *

    *   Mule Admin: accepting connections on tcp://localhost:60504      *

    **********************************************************************

    INFO 2007-08-29 16:54:44,062 [WrapperSimpleAppMain] org.mule.MuleServer: Mule S

    erver initialized.

     

    Please enter something:

     

    表示示例程序运行成功,随便输入一些字符,这些字符被回显出来的同时,回显的处理日志信息也被显示出来。

    注意,在执行这个步骤时,请确信您能访问互联网,否则,示例程序无法运行。

    三、一个简单的Mule Java Application

    下面,以一个类似Echo的Java Application为例说明如何使用Mule来建立应用。后面会说明如何在Web应用程序中集成Mule。

    1、在Eclipse中建立一个Java Application,为Application命令为MuleAppTest。

    2、在Package Explorer视图中,选中刚刚建立的MuleAppTest项目,按下Alt+Enter键打开该项目的属性设置对话框,找到Java Build Path菜单,打开右边的Libraries标签页。

    3、点击“Add External JARs...”按钮,将 %MULE_HOME%libmule 目录和 %MULE_HOME%libopt 目录下的所有jar文件添加到项目的库路径中(%MULE_HOME%inopt目录下的jar文件并不是必须的,您可以根据需要选择您要加入的包,本文实际上只使用了与Web Service相关的一些库文件)。

    4、在源码目录(src)下建立一个EchoService接口及其实现类EchoServiceImpl。

    EchoService.java

    package com.san.mule;

    public interface EchoService {

        public String echo(String s);

     

    }

    EchoServiceImpl.java

    package com.san.mule;

    public class EchoServiceImpl implements EchoService {

        public String echo(String s) {

            return s;

        }

    }

    5、在源码目录(src)下建立一个mule-config.xml文件,为Mule配置入口端点,并将这个端点发布成一个基于axis的Web服务。

    mule-config.xml

    <?xml version="1.0" encoding="UTF-8"?>

     

    <!DOCTYPE mule-configuration PUBLIC "-//MuleSource //DTD mule-configuration XML V1.0//EN"

                                    "http://mule.mulesource.org/dtds/mule-configuration.dtd">

     

    <mule-configuration id="mule-test" version="1.0">

     

    <model name="echoService">

    <mule-descriptor name="echoService"

    implementation="com.san.mule.EchoServiceImpl">

    <inbound-router>

    <endpoint

    address="axis:http://localhost:8181/services">

    </endpoint>

    </inbound-router>

    <properties>

    <list name="serviceInterfaces">

    <entry value="com.san.mule.EchoService" />

    </list>

    </properties>

    </mule-descriptor>

    </model>

     

    </mule-configuration>

     

    6、建立一个Mule的Application示例。

    MuleAppTest.java

    package com.san.mule;

     

    import org.mule.config.ConfigurationException;

    import org.mule.config.builders.MuleXmlConfigurationBuilder;

    import org.mule.umo.manager.UMOManager;

     

    public class MuleAppTest {

     

    public static void main(String[] args) throws ConfigurationException {

     

    MuleXmlConfigurationBuilder builder = new MuleXmlConfigurationBuilder();

    UMOManager manager = builder.configure("mule-config.xml");

     

    }

     

    }

    7、在MuleAppTest.java点击右键,选择Run As菜单中的Java Application运行MuleAppTest类。

    8、打开浏览器,访问http://localhost:8181/services/echoService?wsdl,即可看见服务的描述信息。

    9、我们来运行一下这个Web服务,看是否能正确运行,在浏览器地址栏中输入:

    http://localhost:8181/services/echoService?method=echo&param=zengfl

    四、在Web Application中集成Mule

    继续前面的项目,我们将Mule集成到Tomcat的一个Web Application中,并使用一个JSP页面来访问Mule组件。

    1、在项目中建立Web Application的相关目录WEB-INF、WEB-INFlib和WEB-INFclasses。

    2、将%MULE_HOME%libmule目录和%MULE_HOME%libopt目录下的所有文件复制到项目的WEB-INFlib目录下。

    将%MULE_HOME%libuseractivation.jar和%MULE_HOME%libusermail.jar两个文件复制到项目的WEB-INFlib目录下。(注意,如果你没有找到这两个文件,那是因为你没有成功运行第二节中的测试程序。)

    3、将项目的output folder设置成项目的WEB-INF/classes目录。

    4、将项目src目录下的mule-config.xml文件复制到项目的WEB-INF目录下。

    注意,当你把项目的output folder设置成WEB-INF/classes时,该目录会从Package Explorer中消失,这是正常现在,你可以在Navigator视图中找到这个目录。

    5、建立WEB-INFweb.xml文件。

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

    <web-app>

    <display-name>Mule</display-name>

    <description>Mule Demo</description>

     

    <context-param>

    <param-name>org.mule.config</param-name>

    <param-value>/WEB-INF/mule-config.xml,</param-value>

    </context-param>

     

    <listener>

    <listener-class>

    org.mule.config.builders.MuleXmlBuilderContextListener

    </listener-class>

    </listener>

     

    <servlet>

    <servlet-name>muleServlet</servlet-name>

    <servlet-class>

    org.mule.providers.http.servlet.MuleReceiverServlet

    </servlet-class>

    <load-on-startup />

    </servlet>

     

    <servlet-mapping>

    <servlet-name>muleServlet</servlet-name>

    <url-pattern>/services/*</url-pattern>

    </servlet-mapping>

     

    </web-app>

    6、建立一个测试页面echo.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"%>

    <%@ page import="org.mule.extras.client.MuleClient" %>

    <%@ page import="org.mule.umo.UMOMessage" %>

    <html>

    <head>

    <title>Mule Web Application Test</title>

    </head>

    <body>

    <%

    String s = request.getParameter("name");

    if (s != null) {

    MuleClient client = new MuleClient();

    UMOMessage message = client.send(

    "axis:http://localhost:8181/services/echoService?method=echo",

    s, null);

    %>

    <h3><%=message.getPayload()%></h3>

    <%

    }

    %>

    你的名字:

    <form method="POST" name="submitEcho" action="">

    <table>

    <tr>

    <td><input type="text" name="name" /></td>

    <td><input type="submit" name="Go" value=" 确定 " /></td>

    </tr>

    </table>

    </form>

     

    <p/>

    </body>

     

    </html>

    7、将项目部署到%TOMCAT_HOME%webapp目录下,启动Tomcat,访问

    http://localhost:8080/MuleAppTest/echo.jsp

    输入你的名字测试一下,OK。

  • 相关阅读:
    solr8.4.1开发测试环境的简单应用
    spring aop + xmemcached 配置service层缓存策略
    git配置httpd服务-web_dav模式
    notepad++快捷键
    Eclipse默认快捷键说明
    maven&nexus_repository 私库搭建与使用
    CENTOS下搭建git代码仓库 ssh协议
    送给iOS求职者的一份硬核面试指南,你可以不优秀,但是你必须重视!
    2020年中高级iOS大厂面试宝典+答案
    iOS开发者经验总结:在腾讯的九年,我的成长之路和职业思考
  • 原文地址:https://www.cnblogs.com/wangyayun/p/3885688.html
Copyright © 2011-2022 走看看