EJB 工厂(访问 bean)

EJB 工厂是可以简化企业 bean 实例的创建或查找过程的访问 bean。

EJB 工厂打包了由两类对象(InitialContext 和企业 bean 的 home 接口)提供的功能。它允许您设置执行企业 bean home 查询操作所需的提供程序 URL 和其他设置。EJB 工厂的超类隐藏在名称服务中执行查找以及获取 EJB home 实现所需要的 PortableRemoteObject.narrow() 操作的实现详细信息。(注意,EJB 工厂是不可序列化的,原因是它们是用来获取远程 EJB 实例的 helper 类。)

每当您选择使用“添加访问 Bean”向导来生成下列其中一个访问 bean 类型时,就会自动生成 EJB 工厂:

创建向导允许您为新的工厂类指定另一 Java 包。
注: 不会为仅具有本地客户机视图的企业 bean 创建 EJB 工厂。

Home 接口映射

EJB 工厂的用途是提供创建对企业 bean 远程对象的引用的方法。工厂类通过实现企业 bean 的 home 接口的方法并将那些方法调用交由企业 bean 的 home 的实例代理来达到此目的。工厂类通过在特定名称服务中执行“查找”来获取对 EJBHome 的引用。可以将查找调用引导至任何名称服务或使用缺省设置。当首次调用 EJBHome 方法时,实例将通过执行查找操作来获取 EJBHome 对象。

JNDI 映射

缺省 JNDI 名称生成到每个访问 bean 类中。代码生成器使用在扩展编辑器中指定的 JNDI 名称,缺省情况下,该名称是 home 接口名称。可以使用 setJNDIName() 来更改 JNDI 名称。
通常,不需要更改 JNDI 名称。然而,如果将企业 bean 部署到不同的 home,则管理员可以在 JNDI 名称前面添加前缀来指出差异。要查找 home,访问 bean 获得称为 rootContext 的名称服务上下文,如果知道名称服务 URL 和名称服务类型,就可以构造名称服务上下文。 访问 bean 提供两个 API 来设置 rootContext 的属性:
  • setInitialContextFactoryName()
  • setInitialContextProviderURL()

反馈