JBoss ESB学习笔记2第一个ESB应用Hello WorldWord格式文档下载.docx

上传人:b****1 文档编号:15392025 上传时间:2022-10-29 格式:DOCX 页数:17 大小:295.48KB
下载 相关 举报
JBoss ESB学习笔记2第一个ESB应用Hello WorldWord格式文档下载.docx_第1页
第1页 / 共17页
JBoss ESB学习笔记2第一个ESB应用Hello WorldWord格式文档下载.docx_第2页
第2页 / 共17页
JBoss ESB学习笔记2第一个ESB应用Hello WorldWord格式文档下载.docx_第3页
第3页 / 共17页
JBoss ESB学习笔记2第一个ESB应用Hello WorldWord格式文档下载.docx_第4页
第4页 / 共17页
JBoss ESB学习笔记2第一个ESB应用Hello WorldWord格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

JBoss ESB学习笔记2第一个ESB应用Hello WorldWord格式文档下载.docx

《JBoss ESB学习笔记2第一个ESB应用Hello WorldWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《JBoss ESB学习笔记2第一个ESB应用Hello WorldWord格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

JBoss ESB学习笔记2第一个ESB应用Hello WorldWord格式文档下载.docx

2.1.3ftp-provider

FTP入口,可以定义入口FTP服务器的IP,用户名,密码,目录路径等信息。

当有文件被上传到定义好的FTP服务器目录时,接口入口对应的监听器就可以监听到文件,并将文件内容通过Message的形式传递给接口程序。

这个接口适合于通过FTP和我们系统进行通讯的接口。

2.1.4sql-provider

数据库表接口。

这个Provider适合于表接口程序。

外部系统对某一个表的数据库操作可以被对这个Provider进行监听的监听器捕捉到,并调用相关的Action进行处理。

2.1.5http-provider

HTTP方式的接口接入定义,通过http-provider,可以向外提供HTTP形式的接口,并接收来自这个接口的HTTP请求,可以通过请求获取到请求参数。

除了通过HTTP接口提供对外接口以外,也可以通过这个接口方式来提供服务集成,我们可以在门户上指定ESB上的HTTP-Provider接口,并通过这个接口去访问外部接口,再将外部接口返回的数据封装成HTML能识别的格式,发送给门户上的Portal,从而实现服务集成。

2.1.6jbr-provider

通过jbr-provider,可以实现WebService的接口中介功能。

2.2Service

Service是JBossESB对外发布的服务,一个Service一般包括两个部分,一个是Listener,一个是Action。

Listener负责监听客户端接口发起者发送过来的消息,Action负责处理接口请求。

一个Service可以有多个Listener,对多个接口入口请求;

一个Service也可以有多个Action,不同的Action可以有不同的处理逻辑,也可以通过Router将多个Service组装起来,形成服务链条的形式提供服务。

2.3Listener

Listener是JBossESB提供的各类形式的provider的监听器,通过Listener,可以获取客户端发送到Provider上的各类消息。

2.3.1jms-listener

JMS的监听器,通过jms-listener来监听通过jms-provider进来的消息。

2.3.2fs-listener

文件系统的监听器,通过fs-listener来监听通过fs-provider进来的消息。

2.3.3ftp-listener

ftp监听器,通过ftp-listener来监听通过ftp-provider进来的消息。

2.3.4sql-listener

sql监听器,通过sql-listener监听通过sql-provider进来的消息。

2.3.5http-gateway

http监听器,监听来自http-provider的消息。

2.3.6udp-listener

udp-listener用来监听指定端口的socket请求,udp-listener相对其他listener比较特殊,他无需定义provider,可以直接通过listener配置来监听指定端口的socket消息。

2.4Action

Action是在Service节点下面配置的,用于相应接口请求。

Action可以是我们开发人员开发的继承了AbstractActionLifecycle类的javaclass,可以在配置中指定process属性,表明这个Action要执行的方法名称,也可以指定exceptionMethod属性,标明当异常出现的时候,要执行的方法名称。

除了可以开发Action来处理业务逻辑以外,还可以通过Action来做数据转换,服务路由等。

JBossESB提供了若干自带的Action。

3Provider定义

在JBossESBEditor中,新建JMSProvider,输入名称和连接工厂名称,分别是:

JBossMQ和ConnectionFactory。

点击下一步,输入通道ID:

helloworldChanel。

4定义消息队列

在JBossESBEditor中,选中Filter节点,输入目的地名称:

queue/helloworld选中目的地类型为QUEUE(队列),之后保存。

5创建服务

在JBossESBEditor中,选中Service节点,新建服务,输入服务名称,类别以及描述信息,Finish即可。

回到JBossESBEditor,设置invmScope属性为GLOBAL。

该这只的具体含义以后会做介绍,这里不做说明。

6创建JMSListener

在JBossESBEditor中,选中Listener节点,新建JMSListener,输入监听器的名称,同时选中之前创建的通道的ID。

最后在JBossESBEditor中设置该监听器的is-gateway属性为true。

这使得ESB可以直接处理JMS消息。

Ifyousendamessagedirectlytoanotherserviceinternally,itmustbeanEsbMessage!

OnlyGatewaysarecapableofreceivingrealJMSmessages..——某网友语

7Action类定义

由于这里使用的是自定义的action,所以在配置action之前需要编写一个扩展了AbstractActionLifecycle类的action类,类定义如下:

Java代码

1/***********************************************************************

2*<

p>

ProjectName:

helloworld<

/p>

3*<

FileName:

com.thu.afa.esb.jbossesb.action.HelloWorldAction.java<

4*<

Copyright:

Copyright(c)2010<

5*<

Company:

<

ahref="

"

>

<

/a>

6***********************************************************************/

7packagecom.thu.afa.esb.jbossesb.action;

8

9importorg.jboss.soa.esb.actions.AbstractActionLifecycle;

10importorg.jboss.soa.esb.helpers.ConfigTree;

11importorg.jboss.soa.esb.message.Message;

12

13/**

14*<

ClassName:

HelloWorldAction<

15*<

Description:

16*@authorAfa

17*@date2010-9-6

18*@version1.0

19*/

20publicclassHelloWorldActionextendsAbstractActionLifecycle

21{

22protectedConfigTreeconfigTree;

23

24publicHelloWorldAction(ConfigTreeconfigTree)

25{

26this.configTree=configTree;

27}

28

29publicMessagedoPrintMessage(Messagemessage)throwsException

30{

31System.out.println(message.getBody().get());

32

33returnmessage;

34}

35}

Action类说明:

在action类中必须有一个ConfigTree类型的属性以及一个包含ConfigTree类型参数的构造方法,而逻辑处理方法(这里是doPrintMessage)的参数和返回值都必须是Message。

8Action配置

在JBossESBEditor中,选中Action节点,新建CustomAction,如下图所示,输入名称,类路径,并指定处理方法。

到此,ESB工程的配置基本完成,下面可以进行部署了。

9ESB部署

首先在esbcontent文件夹下新建jbm-queue-service.xml文件,内容如下:

Xml代码

36<

?

xmlversion="

1.0"

encoding="

UTF-8"

37<

server>

38<

mbeancode="

org.jboss.jms.server.destination.QueueService"

39name="

jboss.esb.helloworld.destination:

service=Queue,name=helloworld"

40xmbean-dd="

xmdesc/Queue-xmbean.xml"

41<

dependsoptional-attribute-name="

ServerPeer"

42jboss.messaging:

service=ServerPeer

43<

/depends>

44<

depends>

jboss.messaging:

service=PostOffi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1