Welcome 微信登录

首页 / 软件开发 / JAVA / eclipse + JBoss 5 + EJB3开发指南(14):消息驱动Bean

eclipse + JBoss 5 + EJB3开发指南(14):消息驱动Bean2011-09-18 blogjava 哈佛校训在前面的文章中给出的SessionBean的例子都是同步调用SessionBean方法的,也就是说,只有当方法 中的代码都执行完,才能返回到客户端。但在某些情况下,由于SessionBean方法的执行时间比较长,这 就需要异步地调用该方法,否则客户端就需要等待比较长的时间。要实现异步调用,就需要使用本要讲的 消息驱动Bean。消息驱动Bean的基本原理是客户端向消息服务器发送一条消息后,消息服务器会将该消息 保存在消息队列中。在这时消息服务器中的某个消费者(读取并处理消息的对象)会读取该消息,并进行 处理。发送消息的客户端被称为消息生产者。

本文给出的消息驱动Bean的例子的基本功能是客户端向消息服务器发送一条消息(该消息实际上是一 个实体Bean的对象实例),然后消息消费者读取这条消息后,将消息中的实体Bean持久化。实现消息驱动 Bean的步骤如下:

一、实现实体Bean

package entity;import java.io.Serializable;import java.util.Date;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name="t_date")public class DateBean implements Serializable{    private int id;    private Date myDate;    @Id    @GeneratedValue(strategy=GenerationType.IDENTITY)    public int getId()    {        return id;    }        public void setId(int id)    {        this.id = id;    }    @Column(name="mydate")    public Date getMyDate()    {        return myDate;    }    public void setMyDate(Date myDate)    {        this.myDate = myDate;    }    }