Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
了解InitialContext在java中的实际用途?_Java_Lookup - Fatal编程技术网

了解InitialContext在java中的实际用途?

了解InitialContext在java中的实际用途?,java,lookup,Java,Lookup,我在遗留项目中工作的时间最多,在这些项目中我发现了这一行ctx.lookup(“datasource”)多次。根据我在初始上下文中遇到的用法,它用于在webserver/appserver中获得绑定了某个名称的java对象 例如,我们通过weblogic的管理控制台创建数据源,然后我们可以在java程序中使用该对象programmaticaly和ctx.lookup(“数据源”)。如果我没记错的话,我在EJB实现过程中也看到过这种代码,其中的某个对象与服务器本身中的某个名称绑定在一起 Jav

我在遗留项目中工作的时间最多,在这些项目中我发现了这一行
ctx.lookup(“datasource”)多次。根据我在初始上下文中遇到的用法,它用于在webserver/appserver中获得绑定了某个名称的java对象

  • 例如,我们通过weblogic的管理控制台创建数据源,然后我们可以在java程序中使用该对象programmaticaly和ctx.lookup(“数据源”)。如果我没记错的话,我在EJB实现过程中也看到过这种代码,其中的某个对象与服务器本身中的某个名称绑定在一起
Java文档表示,当构造初始上下文时,其环境将使用传递给构造函数的环境参数中定义的属性进行初始化。所以可能是我前面提到的用法,初始上下文是用环境参数构造的(这可能意味着管理员在服务器中创建的对象,如数据源、连接池(如果有的话))。这是我唯一能将初始上下文联系起来的用法

请告诉我初始上下文类的用法是否正确?


基本上,通过初始上下文,我们可以绑定/查找具有相同名称的java对象。在webserver/appserver的情况下,可能像datasource、connection pool这样的对象在启动时被服务器绑定,我们可以直接查找它们?

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