java:comp/env是标准的J2EE环境查找规则
使用这种方式必须做一次环境名到JNDI名的映射
这种隔离使得在写程序时不必关注真正的JNDI名字
其实说白了跟把JNDI名放到配置文件里是一样的
用法如下,如把java:comp/env/my/datasource映射到
my.ora.dataource
web.xml
<resource-ref>
<res-ref-name>my/datasource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>CONTAINER<res-auth>
</resource-ref>
weblogic.xml
<reference-descriptor>
--<resource-description>
----<res-ref-name>my/datasource</res-ref-name>
----<jndi-name>my.ora.dataource</jndi-name>
而在streamGallay中,ConfDbConnect中也用到了
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
ds = (DataSource) envContext.lookup(ConfSysInfo.dataBase);
对应的tomcat下应用的web.xml中如下:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/postgresql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
使用这种方式必须做一次环境名到JNDI名的映射
这种隔离使得在写程序时不必关注真正的JNDI名字
其实说白了跟把JNDI名放到配置文件里是一样的
用法如下,如把java:comp/env/my/datasource映射到
my.ora.dataource
web.xml
<resource-ref>
<res-ref-name>my/datasource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>CONTAINER<res-auth>
</resource-ref>
weblogic.xml
<reference-descriptor>
--<resource-description>
----<res-ref-name>my/datasource</res-ref-name>
----<jndi-name>my.ora.dataource</jndi-name>
而在streamGallay中,ConfDbConnect中也用到了
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
ds = (DataSource) envContext.lookup(ConfSysInfo.dataBase);
对应的tomcat下应用的web.xml中如下:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/postgresql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>