【发布时间】:2011-07-07 11:35:51
【问题描述】:
我们有一些在 Glassfish 3.1 上的 J2EE 应用程序中使用的外部库。这些库允许为某些事件注册处理程序。要求是这些处理程序应该在主应用程序中使用 EJB。
我们的想法是让这些自定义处理程序使用 JNDI 获取对 EJB 的引用,然后调用这些 EJB 上的方法。这是正确的方法吗?
【问题讨论】:
标签: jakarta-ee jndi
我们有一些在 Glassfish 3.1 上的 J2EE 应用程序中使用的外部库。这些库允许为某些事件注册处理程序。要求是这些处理程序应该在主应用程序中使用 EJB。
我们的想法是让这些自定义处理程序使用 JNDI 获取对 EJB 的引用,然后调用这些 EJB 上的方法。这是正确的方法吗?
【问题讨论】:
标签: jakarta-ee jndi
在不了解您的具体用例的情况下,我可以肯定这可能是访问包含离散业务逻辑的公共资源(在您的案例中为 EJB)的有效方法。
一个常见的实现涉及一个Service Locator 来处理 jndi 查找并返回一个引用或直接调用位于一个或多个无状态会话 Bean 中的业务逻辑。
此模式通常用于,例如,使用共享连接或实体管理器查询对象或将对象持久保存到数据库,或访问在多线程环境中管理池资源分配的池工厂。
【讨论】: