使用JNDI从外部库获取对EJB的引用

时间:2011-07-07 11:35:51

标签: java-ee jndi

我们在Glassfish 3.1上的J2EE应用程序中使用了一些外部库。这些库允许为某些事件注册处理程序。要求是这些处理程序应该在主应用程序中使用EJB。

我们的想法是以这样的方式创建这些自定义处理程序,即使用JNDI获取对EJB的引用,然后在这些EJB上调用方法。这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

在不知道您的具体用例的情况下,我可以肯定这是一种有效的方式来访问包含离散业务逻辑的公共资源(在您的情况下为EJB)。

一个常见的实现涉及Service Locator来处理jndi查找并返回引用或直接调用位于一个或多个无状态会话Bean中的业务逻辑。

例如,此模式通常用于使用共享连接或实体管理器查询或持久化对象到数据库,或者获取对多线程环境中管理池资源分配的池化工厂的访问权。