开发企业 Bean 或企业应用程序客户机以管理 ActivitySession
根据所提供的示例代码摘录,使用此任务编写会话 EJB 或企业应用程序客户机管理 ActivitySession 所需的代码。
关于此任务
在大多数情况下,企业 Bean 可取决于 EJB 容器,以使用 Bean 内的 ActivitySession。在这些情况下,您需要做的所有操作是在 EJB 模块部署描述符中设置相应的 ActivitySession 属性,如在关于配置 EJB 模块 ActivitySession 部署属性的主题中所述。此外,通常情况下,实质上设计企业 Bean,以便在企业 Bean 级别上处理所有 ActivitySession 管理。
然而,在一些情况中,您可能需要会话 Bean 或企业应用程序客户机直接参与 ActivitySession。那么您需要编写会话 Bean 或企业应用程序客户机管理它自己的 ActivitySession 所需的代码。
注: 使用 BMT 并且活动会话 设置为激活于的会话 Bean 可管理 ActivitySession。实体 Bean 不能管理 ActivitySession;EJB 容器总是管理实体 Bean 内的 ActivitySession。
当准备编写会话 Bean 或企业应用程序客户机管理 ActivitySession 所需的代码时,考虑关于 ActivitySession 和事务上下文的主题中描述的各点。
要编写会话 EJB 或企业应用程序客户机管理 ActivitySession 所需的代码,根据下面的示例代码摘录完成以下步骤。
过程
示例
下列代码摘录提供使用 UserActivitySession 接口的基本示例:
// Get initial context
InitialContext ic = new InitialContext();
// Lookup UserActivitySession
UserActivitySession uas = (UserActivitySession)ic.lookup("java:comp/websphere/UserActivitySession");
// Set the ActivitySession timeout to 60 seconds
uas.setSessionTimeout(60);
// Start a new ActivitySession context
uas.beginSession();
// Do some work under this context
MyBeanA beanA.doSomething();
...
MyBeanB beanB.doSomethingElse();
// End the context
uas.endSession(EndModeCheckpoint);