我正在尝试了解 JNDI,但我无法深入了解。据我了解,JNDI 是一种接口,它使您能够根据某些配置从文件系统中检索对象。
我经常看到DataSource
用参数定义的例子, inweb.xml
或 as <Resource>
in Tomcat
。然后,Java 应用程序可以通过资源定义中指定的名称获取此DataSource
对象实例。initialContext
但我想了解的是,在后台发生了什么?怎么JVM
知道在哪里搜索这些资源?例如,如果在 tomcat 中定义,我想它会以某种方式导出它们。但它怎么JVM
知道它应该向 Tomcat 索要它们呢?而且,如果是DataSource
,可以从 JNDI 查找中检索实际对象,并使用从资源定义中设置的参数(连接字符串等)... 什么组件设置它们?Tomcat
? JVM
? 我感到很困惑...