`

websphere下JMS的配置和和应用

    博客分类:
  • jms
 
阅读更多

websphere下JMS的配置和和应用

1. MDB(Message Driven Bean)介绍
1.1. 相关概念
要真正理解MDB的话,需要理解java分布式编程的基础知识。下面我把它涉及到的知识点简单介绍下:
1.1.1. RMI(Remote Method Invocation):
RMI其实就是提供客户远程调用方法的技术,对一个具体提供服务的类它生成一个存根和一个骨架,RMI客户通过保存在本地的存根调用RMI服务器上的对象,而RMI服务器则通过本地的RMI骨架与客户机上的存根沟通,传递对象。


1.1.2. EJB(Enterprise JavaBean):
EJB的概念与RMI差不多。它存在于EJB容器中。EJB也是对象,因此它也有自身的一些方法,两种:回调方法,业务方法。业务方法是EJB面向客户提供服务的接口,它由客户调用。回调方法由容器调用,容器通过对这些方法的调用实现对EJB进行如创建,删除时的一些逻辑。要编写一个EJB要实现三个部分: EJB需要创建,所以要有一个创建它的工厂;EJB可以被远程调用所以还要有一个远程接口;一个具体实现的bean,它由回调方法和业务方法组成。


1.1.3. JMS(Java Message Service):
消息的传递分为点对点(PtoP)和发布/预定(即点对群)。它跟电子邮件一样都是异步通讯的,一个消息发送到队列里面,消息消费者则从队列中获取信息。

1.1.4. JNDI(Java Naming and Directory Interface):
Java命名和目录接口,可以用来查找远程对象。
1.2. MDB的环境以及所使用的工具
Windows XP,WebSphere5.1,Eclipse3.0,Ant1.6.2,IBMJDK1.4.2。
安装WebSphere时一定要确认安装了Messaging组件:


2. WebSphere JMS的相关配置
登陆WebSphere管理平台,选中:资源---àWebSphere JMS 提供者,并选择相应节点的server

选择好server后,在属性追加栏里点:
“WebSphere 队列连接工厂”配置QueueConnectionFactory。
“WebSphere 队列目的地”配置Queue。
2.1. 新建队列工厂
进入“WebSphere 队列连接工厂”页面后,新建一个队列工厂:

输入工厂名及对应的JNDI名:

点击确定按钮并保存。
2.2. 新建队列
进入“WebSphere队列”页面后,新建一个队列:


输入队列名及对应的JNDI名:

点击确定按钮并保存。
2.3. 新建监听器
下面配置队列监听器:
选择“应用程序服务器”,再选择相应server1

进入server1的页面后,在追加属性里面选择“消息侦听器服务”

然后还是在追加属性里面选择“侦听器端口”

然后新建一个监听端口:

输入端口名及监听的队列和工厂的JNDI名,初期状态就用默认的已启动,表示server刚启动时监听端口也同时启动:

点击确定并保存。
2.4. JMS server设置
回到应用程序服务器的server1页面,在追加属性中选择“服务器组件”:

然后选择JMS 服务器:

在队列名中输入前面新建的队列名:

点击确定并保存。
至此,WebSphere上的JMS配置全部完成。下面就是应用程序的例子。
3. ear包的作成
下面用一个J2EE应用程序示例来演示一下怎么创建和使用MDB的。

这个J2EE应用包含了一个普通EJB和一个MDB,以及一个部署文件application.xml。
EJB实现了向Queue里面发送信息的功能,而信息的接受则由MDB来自动实现,并通过onMessage()方法来实现在接受消息时需要执行的动作。


3.1. ejb-jar-rcv.jar(MDB)的作成:
MDB是被打成一个jar包的,这个jar包由实现了javax.ejb.MessageDrivenBean和javax.jms.MessageListener的一个类SimpleMessageBean.java和一个EJB规范要求的XML文件ejb-jar.xml组成。

SimpleMessageBean.java



ejbCreate(),ejbRemove()分别实现了MDB在容器里被创建和删除时要执行的动作。
getMessageDrivenContext()和setMessageDrivenContext(javax.ejb.MessageDrivenContext ctx)两个方法在这里没有使用到,就不说了。
最重要的就是onMessage(javax.jms.Message msg)方法,当这个jar包作为一个消息驱动bean被部署到WebSphere上后,它与一个指定的端口关联起来,这个端口上的监听器对我们前面在WebSphere上配置的Queue进行监听,每当有消息被送到这个Queue里就触发了onMessage方法,完成我们想要执行的动作,消息驱动由此而来。在这里onMessage方法是把收到的消息作成邮件然后发送到指定地址。

ejb-jar.xml

MDB也是一个EJB,所以这个文件也少不了:
test.receive.SimpleMessageBean,对应类文件的包和类名。

3.2. ejb-jar-snd.jar(EJB)的作成:
就像前面介绍一样,EJB里面包含了一个工厂MessageSenderHome.java,一个实现MessageSenderBean.java,一个远程接口MessageSender.java,还有一个XML说明文件ejb-jar.xml

MessageSender.java


这个类只有一个方法,它提供了一个远程接口。

MessageSenderBean.java这个类实现了SessionBean接口




这个类是EJB的具体实现类,要做的事就是把一条信息发送到指定队列里去。sendMessage()就是发送消息的这个方法,它通过EJB里的远程接口被调用。
connectionFactoryName和queueName分别对应前面定义的QueueConnectionFactory和Queue的JNDI名。
message是要发送的信息。
numMessages是发送的次数。

MessageSenderHome.java工厂类只有create()一个方法,要使用EJB发送信息则必须先调用这个工厂的这个方法创建一个MessageSender的实例,然后通过实例调用实现bean的sendMessage()方法,完成发送信息到Queue的功能。



ejb-jar.xml

这里的,,三个标签分别对应前面的工厂类,远程接口和实现类。
Stateless表示它是一个无状态会话bean。

3.3. TestJMS.ear(ear)的作成
把上述两个jar包打成一个ear文件则可以作为一个J2EE应用程序发布到WebSphere上去了,不过还需要下面这个J2EE应用的部署文件,application.xml:

这个文件说明了在这个J2EE应用中有两个EJB模块。

可以使用ant将上面的所有相关文件按照下面的目录结构打成一个ear包。

至此我们可以得出一个可以发布到WebSphere上去的ear包。

4. ear包的发布
下面是把这个ear包发布到WebSphere上去的过程说明:

进入“应用程序”的“企业应用程序”页面,点击“浏览”按钮,选择要发布的ear包。
点击下一步。


下一步:


下一步:






下一步:


输入前面配置好的监听器的JNDI名,然后下一步:


这里的配置通过监听器端口将MDB与前面配置的Queue关联了起来。








输入用于查找EJB的JNDI名,下一步:


下一步:


下一步:


点击“完成”,完成配置并保存。


这个ear包发布完成后再到“企业应用程序”页面,选中发布上去的ear包的应用,点击启动。
启动成功,这个J2EE应用程序就可以使用了。
5. 测试程序
最后可以用下面的测试代码来调用EJB发送信息,并验证MDB发送邮件是否成功。


如果测试程序与我们发布的J2EE应用程序在一台机上,那就上面未注释部分的代码测试。
如果不在同一台机上,使用的上下文就应该用注释部分代码来初始化,其中"corbaloc::hostname:port"的hostname和port对应J2EE应用程序所在机器名或IP和端口,如果是默认得server1,可以不用指定端口,"corbaloc::hostname”就行了。

分享到:
评论

相关推荐

    websphere 6.1 jms配置

    websphere 6.1 jms配置 包括总线的设置, 连接工厂的设置,队列的设置以及激活规范的设置等

    websphere jms配置

    websphere上jms配置,这都是自己一步步配置并测试过的,有问题可以留言。

    webSphere安装、配置和WEB应用部署

    关于websphere的安装配置和web应用的部署教程

    linux下websphere的安装配置

    Linux 下安装配置 WebSphere 需要完成多个步骤,包括安装、配置数据源、变量配置、应用部署等。 二、安装 WebSphere 1. 建立文件夹:使用 mkdir 命令建立一个新的文件夹 `/usr/local/websphere`,用于存放 ...

    websphere安装配置及应用

    websphere安装配置及应用websphere安装配置及应用websphere安装配置及应用

    Websphere服务器中配置DataSource

    3. **应用配置**:重启Tomcat6,使配置生效,然后应用程序可以通过JNDI查找并使用这些数据源。 在所有这些配置过程中,确保JDBC驱动版本与数据库服务器兼容,同时注意在服务器环境变量或类路径中包含驱动。配置完成...

    WebSphere7.0数据源配置与应用程序发布之应用程序发布

    WebSphere7.0数据源配置与应用程序发布之应用程序发布

    WebSphere安装、配置与WEB应用部署教程.rar

    本教程将深入探讨WebSphere的安装、配置以及WEB应用的部署过程。 一、WebSphere安装 1. 下载:首先,你需要从IBM官方网站获取适合你操作系统的WebSphere版本。这通常是一个可执行的安装文件。 2. 运行安装程序:...

    websphere集群配置与应用程序部署过程总结

    Websphere集群配置是企业级应用部署的关键步骤,它涉及到多个服务器之间的协同工作,以实现高可用性、负载均衡和故障转移。以下是对Websphere集群配置和应用程序部署过程的详细解析: 首先,集群配置的基础是确保...

    webSphere资料 window下的websphere安装和配置

    WebSphere 是 IBM 提供的一款企业级的 Java 应用服务器,用于部署和管理各种应用程序,如 Web 应用、EJB、JMS 消息队列等。在 Windows 操作系统下安装和配置 WebSphere 包含多个步骤,主要包括安装软件、安装补丁...

    在IBM WebSphere 6.1中配置IBM MQ并通过JMS验证的方法和详细示例

    详细描述了怎样在IBM WebSphere 6.1中配置IBM MQ,最后给出了通过JMS验证的方法和几个详细示例。

    Websphere MQ JavaJMS 客户端的 SSL 配置.doc

    Websphere MQ JavaJMS 客户端的 SSL 配置 Websphere MQ Java/JMS 客户端的 SSL 配置是指从 Java/JMS 客户端到 WebSphere MQ Queue Manager 的安全套接字层(Secure Sockets Layer,SSL)连接的配置。该配置主要用于...

    websphere 6.1安装配置指南

    websphere 6.1安装配置指南websphere 6.1安装配置指南websphere 6.1安装配置指南websphere 6.1安装配置指南websphere 6.1安装配置指南websphere 6.1安装配置指南

    websphere安全性配置

    在完成 WebSphere 安装之后,默认情况下是可以以任意用户登录控制台进行服务器的各项配置,这会存在很大的安全隐患。因此,需要对其进行安全配置,以保证 WebSphere 服务器能够稳定可靠的运行。 2. 全局安全性设置 ...

    WebSphere 6.1 SSL配置

    在本配置文件中,我们将详细介绍如何创建密钥库和证书,并将其应用于 WebSphere 6.1 中。 在配置 SSL 之前,需要首先创建密钥库和证书。在 IHS 中,需要创建一个密钥数据库文件(IHSkey.kdb),然后生成一个自签名...

    jms配置图解

    JMSServer可以配置为单独的服务器实例或与应用服务器共享。 2. **定义ConnectionFactory**:ConnectionFactory是客户端用来创建JMS连接的对象。在WebLogic中,你需要配置一个JNDI名称,使得应用可以通过这个名字...

    WebSphere安装、配置与WEB应用部署教程

    WebSphere安装、配置与WEB应用部署教程

    websphere6.0如何配置ldap安全性并应用于项目.doc

    websphere6.0如何配置ldap安全性并应用于项目.doc

    Websphere集群环境下配置SSL

    总之,WebSphere集群环境下配置SSL是一项关键的安全措施,它涉及到Keystore和Truststore的管理,证书的申请与安装,以及在WebSphere管理控制台的相应配置。通过遵循正确的步骤和最佳实践,可以有效地保护敏感数据,...

    webshpere配置JMS

    WebSphere配置JMS涉及到IBM的企业级中间件平台WebSphere和Java消息服务(JMS)的集成。JMS是一种标准API,用于在分布式环境中发送和接收消息,它提供了可靠的异步通信机制。WebSphere,特别是WebSphere Process ...

Global site tag (gtag.js) - Google Analytics