ESB之Mule ESB的使用

时间:2024-04-03 19:15:53

概要说明:

         本次的ESB使用的是Mule ESB,其官网是https://developer.mulesoft.com/,目前官网提供的社区版和企业版,企业版是收费的,功能齐全,本次开发使用的是社区版本的,Mule ESB 目前最新的IDE是AnypointStudio,它是基于Eclipse重构而来的,使用的部署工具是mule-standalone-3.8.0。



配置说明:

         在AnypointStudio的mule poject中需要注意以下几点:

1.      本次部署的项目名是firstproject,其结构如下:

ESB之Mule ESB的使用


第一个Flow可以灵活配置系统中需要暴露的接口,提供第三方来接入,第二个Flow可以配置需要连接的数据库,写入sql语句返回JSON结果。

2.      Http的配置:

ESB之Mule ESB的使用

这里的Host指的是当前mule project运行的Host。

ESB之Mule ESB的使用

另一个http的配置的Host应该为系统运行的Host,这里配置的是在本地运行的。

 

 

3.      部署配置

Mule ESB部署有两种方法,两种方法各有优势。

方法一:使用mule-standalone(优点:体积小,启动方便。缺点:只能看日志文件来分析问题和流程的走向,配置多)

           mule-standalone和java一样需要配置环境:


ESB之Mule ESB的使用

ESB之Mule ESB的使用

配置完后再cmd输入mule,出现如下图则配置成功。


ESB之Mule ESB的使用

目前只需要将Anypoint Studio 开发出来的工程文件夹放入mule-standalone/apps下面,并且需要把apps文件下面有个default文件夹中的mule-config.xml文件复制到当前开发出来的工程文件夹中,不然是部署不成功的。

ESB之Mule ESB的使用

然后删除apps文件夹下面的default文件夹。

Windows 环境下,进入mule-standalone\bin目录, 执行mule.bat 文件即运行,关闭此命令行界面即可停止服务。

Linux 环境下,命令进入 mule-standalone\bin目录,执行./mule start 进行启动,执行./mule stop 来停止服务。

 

          

方法二:使用anypointstudio直接运行(优点:流程的走向可以实时的显示在界面上,便于分析问题,无需其他额外配置。缺点:体积稍大)

ESB之Mule ESB的使用

4.      调用方式

目前 上部署的ESB 是社区免费版,没有监控管理控制台功能。第三方可以通过两种方式调用:

一.正常的基于http 的 GET,POST请求

http://www.jjjj.com:8088/osb?callName=调用方法&参数名=参数值

说明

示例

注意事项

URL

http://test.dingming.cc:8083

 

callName参数

callName=com.es.der.addTest()

 

其他请求参数

stuId=y67843iejdi6688923

 

 

   二. 通过js 进行跨域访问,示例如下:

$.ajax({

          url: "http://localhost:8083/osb?callName=com.es.der.addTest()",

       data: {"classId":"c123","stuId":"s123"},

           dataType: "jsonp",

jsonp: "callback",                                jsonpCallback:"jsonpCallback",   

           success: function(resdata,textStatus, jqXHRult){

                     if(resdata !=null){

                         $("#returns").val($.toJSON(resdata));

                     }

                  }

           });

 

三.通过nginx做路由地址正则匹配,具体实现看这篇文章(http://blog.csdn.net/lh2420124680/article/details/62057029)