开发企业应用程序以使用 ActivitySession
本主题概述了在企业应用程序中使用 ActivitySession 的高级任务。
关于此任务
在企业应用程序中使用 ActivitySession 之前,请考虑下列各点:
下列高级任务说明如何在企业应用程序中使用 ActivitySession:- 在对任何应用程序方法提供服务时,在 ActivitySession 上下文下访问的应用程序可接收 Enterprise JavaBeans (EJB) 容器抛出的 javax.transaction.InvalidTransactionException RemoteException。当具有基于 ActivitySession 的激活策略的企业 Bean 实例涉及并发全局和局部事务时,发生此异常。
- 要启用企业 Bean 参与 ActivitySession 上下文,并支持基于 ActivitySession 的操作,必须使用 ACTIVITY_SESSION 的 ActivationPolicy 配置它。使用 TRANSACTION 或 ONCE 的 ActivationPolicy 配置的 Bean 不能参与 ActivitySession 上下文。
- 会话 Bean 可使用容器管理的 ActivitySession 或实现 Bean 管理的 ActivitySession;实体 Bean 只能使用容器管理的 ActivitySession。部署企业 Bean 时,通过将其事务类型部署属性设置为 Bean 管理或容器管理,以便将 ActivitySession 管理的 Bean 部署为 Bean 管理或容器管理。使用 Bean 管理的事务的 Bean 可使用 Bean 管理的 ActivitySession;使用容器管理的事务的 Bean 可使用容器管理的 ActivitySession。
- 如果您要会话 Bean 或企业应用程序客户机管理它自已的 ActivitySession,您必须编写明确定界 ActivitySession 边界的代码,如开发企业 Bean 或 J2EE 客户机以管理 ActivitySession 中所描述。