读书人

JBoss ESB学习札记4第三个ESB应用

发布时间: 2012-12-21 12:03:49 作者: rapoo

JBoss ESB学习笔记4——第三个ESB应用Hello World Notification

续上篇介绍了第二个ESB应用,本文介绍第三个ESB应用——Hello World Notification。

?

?

说明:本文及后续文章虽非百分百的原创,但毕竟包含本人的努力和付出,所以希望大家转载时务请注明出处:http://yarafa.iteye.com,谢谢合作。

?

?

1 概述
该实例主要演示了Notifier的使用,当ESB接收到来自客户端的消息后,自动向指定的地址发送通知,这里的地址可以是控制台,文件,消息队列或者消息主题。
在下面的例子中,需要定义两个消息队列,一个接收来自客户端的消息,第二个用作ESB内部Message通道。此外,还有一个消息主题,用于接收ESB发来的通知。

?

2 新建ESB工程
操作过程略。

?

3 ESB配置
3.1 创建消息队列和消息主题
如概述中所描述,这里将创建两个消息队列和一消息主题。在esbcontent文件夹下创建文件jbm-queue-service.xml用于配置消息队列,内容如下:

?

3.2 定义Provider
这里将定义一个JMS Provider,同时定义两个消息通道,一个用于监听客户端发来的消息,另一个用作ESB消息通道。内容如下:

?

3.3 定义Service

?

3.4 定义Listener
这里定义两个listener,分别用于监听客户端消息和ESB内部消息。其中,前者用于监听客户端消息,因此需要将其is-gateway属性设置为true。

?

3.5 配置Action

配置说明:这里的action调用JBoss ESB提供的Notifier类来实现处理逻辑。这里的通知目的地有两个,一个是文件系统,另一个是消息主题topic/helloworldTopic。其中,对于文件系统通知,append属性表示是否在接收到来自客户端的消息后,将消息内容追加到文件的末尾。?

?

3.6 配置部署文件
部署依赖文件deployment.xml内容如下:

?

首先运行接收消息的客户端,然后运行发送消息的客户端,即可在F:\Workspace\Eclipse-JEE\helloworldtopicnitify\test.txt文件中看到客户端发来的消息内容。另一方面,由于已经运行了接收消息的客户端,所以可以同时在该客户端的控制台看到通知信息,如下图所示,其中,文本文件中有三条来自客户端的消息(执行了三次发消息操作),这是在配置ESB时由append属性指定的。

JBoss ESB学习札记4——第三个ESB应用Hello World Notification

JBoss ESB学习札记4——第三个ESB应用Hello World Notification

?

?

上述便是ESB第三个应用实例。如有问题,欢迎指正。

?

?

-----------------------------------------------------
Stay Hungry, Stay Foolish!
http://yarafa.iteye.com
Afa
Jan?3rd, 2011
-----------------------------------------------------

1 楼 hesihua 2011-08-12 为什么这个例子是接收消息的客户端要先运行 ,而前一个例子的却不用呢 2 楼 yarafa 2011-08-30 先运行或后运行没什么分别的

读书人网 >操作系统

热点推荐