传智播客——EJB

本文介绍了EJB的三种核心bean类型及其实现方式,并详细阐述了无状态会话bean的开发流程。此外,还讲解了实体bean的配置以及JMS消息传递模型的基本概念和编程步骤。

今天我们来一起学习EJBEJB是一个用于分布式业务应用的标准服务端组件模型,EJBSpring而言,它更适合于分布式的场合,实现最大程度的业务代码重用,EJB是一个重量级的开发框架。我们接下来就开始学习EJB······

1.       EJB中有三种bean:①会话bean ②实体bean ③消息驱动bean

2.       会话bean分为无状态会话bean和有状态会话bean

3.       开发一个无状态会话bean需要完成接口(可以是远程接口或本地接口)和实现类的编写

4.       Session bean客户端开发:

1)  设置JNDI访问环境信息:进行JNDI查找前,需要设置应用服务器的上下文信息,主要是设置JNDI驱动的类名(java.naming.factory.initial)和命名服务提供者的URL java.naming.provider.url),不同的EJB容器,服务器的上下文信息不相同。可以在classpathjndi.properties中配置JNDI的环境信息

2)  通过JNDI名称调用接口方法

5.       只有客户端与EJB应用在同一个JVM内运行的时候,我们才能调用本地接口,否则只能调用远程接口

6.       Bean实例的管理技术:

1)  无状态bean使用实例池技术管理bean

2)  有状态bean使用激活管理bean

7. 会话bean之间相互调用可以采用依赖注入的方式实现 

例:@EJB (beanName="HelloBean") LocalHello helloworld

8. 实体bean属于JPA里的技术,在实体bean应用中,需要在应用的类路径下的META-INF目录加入持久化配置文件persistence.xmlpersistence.xml文件中可以配置Jboss的数据源以及持久化框架的属性)

9.  JMS 支持两种消息传递模型:点对点和发布/订阅

1)点对点消息传递模型规定了一条消息只能传递给一个接收方, 采用javax.jms.Queue 表示

2)发布/订阅消息传递模型允许一条消息传递给多个接收方。采用javax.jms.Topic表示

10. 开始JMS编程前,需要先配置(XML)消息到达的目标地址(Destination),文件的取名格式应遵守*-service.xml

11. 使用JAVA类放送信息有以下步骤:

1)得到一个JNDI初始化上下文(Context)

InitialContext ctx = new InitialContext();

2)根据上下文查找一个连接工厂 QueueConnectionFactory 。该连接工厂是由JMS提供的,不需我们自己创建,每个厂商都为它绑定了一个全局JNDI,我们通过它的全局JNDI便可获取它;

QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory")

3) 从连接工厂得到一个连接 QueueConnection

conn = factory.createQueueConnection();

4) 通过连接来建立一个会话(Session);

session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);

5) 查找目标地址:

Destination destination = (Destination ) ctx.lookup("queue/itcast ");

6) 根据会话以及目标地址来建立消息生产者MessageProducer

MessageProducer producer = session.createProducer(destination);

TextMessage msg = session.createTextMessage("您好,这是我的第一个消息驱动Bean");

producer.send(msg);

12.采用消息驱动bean接收信息:需要实现MessageListener接口,同时,需要使用注释指定MDB监听哪一个目标地址(Destination)

例:@MessageDriven(activationConfig =

{

  @ActivationConfigProperty(propertyName="destinationType",

    propertyValue="javax.jms.Queue"),

  @ActivationConfigProperty(propertyName="destination",

    propertyValue="queue/foshanshop"),

  @ActivationConfigProperty(propertyName="acknowledgeMode",

    propertyValue="Auto-acknowledge")

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值