谁能解释java:comp/env/? 100分............. JNDI它属于j2ee的一部份。。它的中文意思应该就是java 命名目录接口,通称(上下文接口)主要是用来识别服务器的组件和相关资源。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <res-ref-name>jdbc/demoPool</res-ref-name>问题就在这里啊。 comp/env/jdbc/demoPool是JNDI在Weblogic上影射的树目录路径,当然如果你影射成examples-dataSource-demoXAPool就直接这样写了。具体的名字建议发布成功以后,在Weblogic的Servers中的myserver(或是其他名字)察看JNDI树,就一目了然了 所有环境特性都以java:comp/env为上下文,后面紧跟别名 jdbc/demoPool是JNDI查找资源时用的引用,而examples-dataSource-demoXAPool是资源的JNDI名称,只是用来显示该资源的简单文本信息 可是我也是在weblogic中配置了数据库连接池 直接lookup(“jdbc/demopool”)就找回DataSource了,没有在前面加 java:comp/env/,我也不明白这个是干什么的。什么时候用,什么时候不用,我没有加也成了为什么 我觉得在J2EE中可以有两中查找资源的方式(我测试了两种都可以运行):1、直接按JNDI查找。如DataSource ds = (javax.sql.DataSource)initCtx.lookup("examples-dataSource-demoXAPool");2、间接查找。如DataSource ds = (javax.sql.DataSource) initCtx.lookup("java:comp/env/jdbc/demoPool");这种情况是先根据ejb_jar.xml知道这是一个DataSource类型资源,然后再根据weblogic-ejb-jar.xml中指定的映射关系,知道实际的JNDI名为examples-dataSource-demoXAPool,然后在按examples-dataSource-demoXAPool直接查找? 这是我的理解,请大家指正! 楼上说的对,两种方法都可以找到。这个问题在<<mastering ejb2>>中有说明,就是建议你不要在程序中直接写死ejb的jndi,而是用一个中间层的reference,就是上面的<res-ref-name>。这样做的目的就是当j2ee几个角色中的deployor重新布署或更改布署时(不是你自己布署),他可能会更改ejb的jndi,但因为你的程序用的是中间层,调用就不用作修改了。 java+flex+spring整合后,启动tomcat各种报错,请求解答,谢谢! 在poi生成excel页眉 关于struts1.3的返回forword问题 怎么解析如下的string结构的xml, ~ 简单正则表达式 Java下调用.C,哪位高手帮帮忙吧!~ 如何得到hibernate结果集的元数据 关于hibernate DAO 请教如何加密硬盘上某一目录下的所有资源? 求助,急,急,急!!!关于struts的 如何分析jboss中的包 ×××××××××关于htm文件在tomcat中显示是,IE的编码不能自动选择简体中文的问题××××××××
问题就在这里啊。
是JNDI在Weblogic上影射的树目录路径,当然如果你影射成examples-dataSource-demoXAPool
就直接这样写了。
具体的名字建议发布成功以后,在Weblogic的Servers中的myserver(或是其他名字)察看JNDI树,就一目了然了
DataSource了,没有在前面加 java:comp/env/,我也不明白这个是干什么的。什么时候用,什么时候不用,我没有加也成了为什么
1、直接按JNDI查找。如DataSource ds = (javax.sql.DataSource)initCtx.lookup("examples-dataSource-demoXAPool");
2、间接查找。如DataSource ds = (javax.sql.DataSource) initCtx.lookup("java:comp/env/jdbc/demoPool");这种情况是先根据ejb_jar.xml知道这是一个DataSource
类型资源,然后再根据weblogic-ejb-jar.xml中指定的映射关系,知道实际的JNDI名为examples-dataSource-demoXAPool,然后在按examples-dataSource-demoXAPool直接查找?
这是我的理解,请大家指正!
这个问题在<<mastering ejb2>>中有说明,就是建议你不要在程序中直接写死ejb的jndi,而是用一个中间层的reference,就是上面的<res-ref-name>。这样做的目的就是当j2ee几个角色中的deployor重新布署或更改布署时(不是你自己布署),他可能会更改ejb的jndi,但因为你的程序用的是中间层,调用就不用作修改了。