Jboss ESB 入门日志
最近由于项目需要,研究了一下Jboss ESB,在此记录一下:
1. 运行官方提供的demo
server : jbossesb-server-4.11
ant : 1.8.4
进入对应例子目录,运行ant deploy部署到server下,ant runtest 运行例子(具体可以运行的target可以通过ant -p查看)
如果要在jboss AS下运行,稍微麻烦一点,可以查看Getting_Started_Guide.pdf
2. ESB Tools
为了更好的开发ESB,jboss提供了eclipse插件,根据网上的步骤试了好多eclipse版本都没有安装成功,一会少一会少那,郁闷!
3. eclipse下手动加jar包
由于插件没有安装成功就只能手动加jar包
a、客户端开发需要的包esb_client是在E:\study\jboss-esb\jbossesb-server-4.11\client也就是对应server的client所有的包
b、服务端要的包:E:\study\jboss-esb\jbossesb-server-4.11\server\default\deploy
jbossesb.esb、jbossesb.sar、jbpm.esb、jbrules.esb、slsb.esb、smooks.esb、soap.esb、spring.esb下的所有包;
4. esb代码结构
/META-INF/jboss-esb.xml
/META-INF/deployment.xml 在这里定义对其他包或者服务的依赖,或者配置classloader.
jbm-queue-service.xml (optional) 这里是定义启动所需要的Queue
**.jar (optional) 放些所需要的第三方包
所需要的些classes文件
5.部署esb
由于没有安装tools插件,所以就不能导出esb工程, 只能另想办法,用ant,根据esb代码结构,把项目放到官方例子的quickstarts,运行ant deploy
就能部署了,根据例子编写build.xm以运行测试用例
6. 官方例子说明
a.Hello World File Action:
本实例演示了JBoss ESB的File Gateway的使用及特性,当ESB所监听的特定目录下具有特定扩展名的文件发生变化时,将发送一个JMS消息到消息队列,
然后由ESB处理该消息。最后根据ESB的配置将输出一个具有特定扩展名的文件到输出目录。
b.Custom Action
本实例主要演示了action类的不同使用方式
c.Http Gateway
该实例主要演示了如何通过http通道将客户端发来的http请求传给ESB服务
d.Https Gateway
该实例主要演示了两点:一是配置一个https的ESB入口,二是在ESB外部端点中配置http路由器实现https传输方式的调用。
e.JMS Router
该实例演示如何配置JMSRouter action类来实现消息的路由和转发,以及JMSCorrelationID在ESB中的使用。
f.JMS Topic
本实例主要演示了如何配置ESB服务使其从JMS消息主题中获取消息。本实例的主要操作过程是配置了两个ESB服务从JMS消息主题获取消息,
并同时将接收到的消息转发给另一个ESB服务进行处理。
g.Message Filters
本实例主要演示了如何设置基于内容的过滤器。这里通过客户端发送Order对象到ESB,在处理消息之前,过滤器将根据Order对象的quantity属性进行过滤,
当该属性的值大于10时,消息将被传送到NextService服务进行处理,否则,该消息将会被过滤掉不做任何处理。
h.Spring Hello World
本实例主要演示了基于spring的action调用.
i.Spring AOP
本实例主要演示了Spring AOP在ESB中的应用.
j.Transform CSV to XML
本实例主要演示了如何将一个CSV文件(逗号分隔的值文件)转换成XML格式字符串,本实例的转换是通过配置Smooks实现的,这里的转换过程分为两步,
一是将CSV转换成中间XML格式,然后再转换成目标XML格式。
k.Transform XML to POJO
本实例主要演示了如何通过配置Smooks将一个XML文件转换成POJO
l.Web Service Consumer 1
本实例主要演示了如何配置ESB的Action来调用基于JSR181风格注释的Web Service,即ESB的Action用作Web Service的客户端。
补充:综合编程 , 其他综合 ,