介绍
本指南关注设计消息驱动的 bean。工作产品指南:消息驱动的 Bean 中提供关于消息驱动的 Bean 的更多指导信息,例如:如何确定实体 Bean 以及如何对其建模。工作产品指南:Enterprise JavaBeans(EJB)中提供了关于 EJB 的一般指导信息。
注意因为消息驱动的 bean 是以非直接的方式通过消息调用的,而不是直接通过接口操作调用的,它们的设计需要精化消息格式和描述响应消息的行为,而不是精化接口操作。
使用消息传递的一项限制是消息的生产者和使用者(消息驱动的 bean)不能参与到同一事务中。生产者可以使用事务将消息放置到队列中,并且消息驱动的 bean 可以使用单独的事务提交使用消息的结果,但这些事务必须一直是单独的事务。
消息驱动的 bean 可以使用 bean 管理的或容器管理的事务。通常容器管理的事务更简单,所以是首选的方法。请参阅技术:设计 Enterprise JavaBeans(EJB)以获取更多指导信息。
每个消息驱动的 bean 都是一个可能有多个实例的活动类。因为每个消息驱动的 bean 实例都并行运行,对一个实例接收的消息的处理可能在另一实例处理的消息之前或之后完成。
这表示消息的使用顺序可能与消息的产生顺序不同。消息驱动的 bean 的设计必须考虑到此种可能性。
|