2012-03-11 307 views
4

我工作最多的遗留项目,我发现这条线ctx.lookup("datasource");许多次。根据我在初始上下文中遇到的用法,它用于在webserver/appserver中获取绑定了某个名称的java对象。了解Java中InitialContext的实际用法?

  • 例如,我们创建数据源通的WebLogic管理控制台,然后我们就可以在java程序programmaticaly使用该对象与ctx.lookup(“数据源”)。如果我没有记错,我在EJB实现过程中也看到了这种代码,这个代码也是某些在服务器本身中绑定了某个名称的对象。

Java文档表示当初始上下文构造,它的环境与在传递给构造的环境参数定义的属性进行初始化。所以可能是我前面提到的用法,初始上下文是用环境参数构建的(这可能意味着管理员在服务器中创建的对象,如数据源,连接池(如果有的话))。这是我可以将初始上下文联系起来的一种用法。

请让我知道它是否正确并正确使用了初始上下文类?

基本上用初始上下文,我们可以绑定/查找具有相同名称的java对象。在webserver/appserver的情况下,数据源,连接池等对象可能会在启动时被服务器绑定,我们可以直接查找它们吗?

回答

2

这看起来像正确使用上下文类。在较新的EJB实现中,您还可以使用@EJB@PersistenceContext注释。有关更深入的了解,请阅读有关Dependency Injection的维基百科文章。