社区
Java EE
帖子详情
was6中提示警告:"不推荐使用jdbc/datasource JNDI的直接查找",怎么回事?-在线等
Godshow
2005-08-17 09:14:49
找到 ibm的一个页面,没看懂啥意思。高手帮忙翻译翻译。
http://www-1.ibm.com/support/docview.wss?uid=swg1PK06395
...全文
738
10
打赏
收藏
was6中提示警告:"不推荐使用jdbc/datasource JNDI的直接查找",怎么回事?-在线等
找到 ibm的一个页面,没看懂啥意思。高手帮忙翻译翻译。 http://www-1.ibm.com/support/docview.wss?uid=swg1PK06395
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Godshow
2005-10-20
打赏
举报
回复
感谢楼上各位,尤其是humanity。已成功。
OnlyFor_love
2005-10-20
打赏
举报
回复
程序改了以后,你杂web.xml中改了吗?
比如说<res-ref-name>comp/env/jdbc/wfmsdatasource</res-ref-name>
humanity
2005-10-17
打赏
举报
回复
一下内容是 J2EE 1.3 的。
比如, 我的 ibm-web-bnd.xml 中有这段内容,这个将会再部署到 WAS 时自动被管理控制台读出来并创建资源配置,跟我们手工创建一个数据源一样。
<?xml version="1.0" encoding="UTF-8"?>
<webappbnd:WebAppBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappbnd="webappbnd.xmi" xmi:id="WebAppBinding_1" virtualHostName="default_host">
<webapp href="WEB-INF/web.xml#WebApp"/>
<resRefBindings xmi:id="ResourceRefBinding_1129470735234" jndiName="jdbc/xa/sample">
<bindingResourceRef href="WEB-INF/web.xml#ResourceRef_1129470735234"/>
</resRefBindings>
</webappbnd:WebAppBinding>
下面这个是 web.xml 中的一段内容,这里 id 和上面的 ref 对应,这样就能映射一个 全局 资源到一个 web容器组件内的资源上来。 资源是配置在服务器的全局资源池中他的 JNDI 为 jdbc/xa/sample, 然后映射到 web 容器这个组件中名字为jdbc/sample.我用 ctx.lookup("java:comp/env/jdbc/sample") 来访问,因为你 ctx.lookup("java:comp/env/xxxx") 时就是在web容器内,在ejb 中调用 ctx.lookup("java:comp/env/xxxx") 则是在 ejb 容器内的,如果没有配置引用你可能找不到资源,或者导致一个上面的警告, Tomcat 5 中没有 ibm-web-bnd.xml ,但是 Tomcat 5 能在一个 context 的配置中添加一个 resource-link 来完成这个映射,方法是在 /META-INF/ 中的context.xml (如果没有这个文件,可以从 %CATALINA_HOME%/conf/Catalina/localhost/manager.xml 拷贝一个,改一下内容,并改名为 context.xml ),在其中添加一个resource-link . 具体操作也可以 jakarta.apache.org/tomcat 下载一个 jakarta-tomcat-admin-x.xx.zip 并解压,用它来完成配置。
<web-app>
<!-- ... 其他内容省略 -->
<resource-ref id="ResourceRef_1129470735234">
<res-ref-name>jdbc/sample</res-ref-name>
<res-type>java.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</web-app>
humanity
2005-10-17
打赏
举报
回复
web.xml 中配置了资源引用没有?
<web-app>
<resource-ref>
// ...
</resource-ref>
</web>
UPCCPU
2005-10-14
打赏
举报
回复
网上搜索一大把,这个问题没有没有影响到正常使用,也没有关心过
http://blog.blogchina.com/siry/1657473.html
http://www.flashempire.com/home/log_view.php?userid=7&id=12865&date=2005-11
Godshow
2005-10-13
打赏
举报
回复
问题仍然未解决.继续等^
Godshow
2005-09-27
打赏
举报
回复
改了结果如下:
Error 500:Name comp/env/jdbc not found in context "java:".
humanity
2005-09-21
打赏
举报
回复
它都已经在日志里提示得这么清楚,所以你还是应该修改一下代码城楼上那样,
你写代码的 例子 肯定是以前很老的版本上 照抄的, 因为那个时候用的 J2EE 1.2 ,资源配置在应用程序中, J2EE 1.3 开始应该配置资源引用, 资源配置在服务器上,服务器独立管理,应用程序配置资源引用,服务器负责把全局资源池中的资源对应到 Web 组建或者 Ejb 组建内 (java:comp/env 的由来),
WebSphere 5.1 开始 web.xml 中配置资源引用,ibm-web-xml-bnd.xml 配置资源引用的绑定,把一个web.xml 中的引用映射到 一个全局 JNDI 上去, ejb-jar 中配置资源引用, ibm-ejb-jar-bnd.xml 也配置绑定映射。
资源引用名和全局 JNDI 名因为在不同的范围内,所以可以重复,只要同一个范围内不重复就行。
全局JNDI, Web 组件,Ejb 组件内可以给有一个 abc ,因为不同范围。
OnlyFor_love
2005-09-19
打赏
举报
回复
ds = (DataSource) envCtx.lookup("java:comp/env/jdbc/wfmsdatasource");
改成这样试试
Godshow
2005-08-17
打赏
举报
回复
was日志内容如下:
J2CA0294W: 不推荐使用资源 jdbc/wfmsdatasource 的直接 JNDI 查找。使用下列缺省值:[Resource-ref settings] res-auth: 1 (APPLICATION) res-isolation-level: 0 (TRANSACTION_NONE) res-sharing-scope: true (SHAREABLE) loginConfigurationName: null loginConfigProperties: null [Other attributes] res-resolution-control: 999 (undefined) isCMP1_x: false (not CMP1.x) isJMS: false (not JMS)
消息类型
警告
说明
通过 Java 命名目录接口(JNDI)查找资源时,避免使用资源的标准名称。J2EE 编程模型建议使用资源引用和本地 JNDI java:comp/env 上下文。
用户操作
将应用程序修改为与资源引用和本地 JNDI java:comp/env 上下文一起使用引用的 J2EE 编程模型。
-------------------------------
was6中配了名为WFMSDataSource的数据源,JNDI名为jdbc/wfmsdatasource
-------------------------------
我的代码如下:
InitialContext initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("");
ds = (DataSource) envCtx.lookup("jdbc/wfmsdatasource");
connection = ds.getConnection();
------------------------------
请问该如何去掉警告?
JNDI
和
JDBC
的区别及
使用
本文深入解析了
JNDI
和
JDBC
的区别及其在Java应用程序
中
的
使用
方式。
JDBC
提供了一组
直接
与数据库交互的API,而
JNDI
则用于在应用服务器环境
中
查找
和定位各种资源,如数据库连接池。通过具体的配置示例,展示了如何利用
JNDI
简化数据库连接管理和配置。
Spring整合Tomcat
JNDI
数据源实战指南
本文详解Spring应用在Tomcat容器
中
通过
JNDI
统一管理
DataSource
的生产级实践,涵盖
JNDI
必要性(安全合规、环境隔离、连接治理)、Tomcat端context.xml的5个关键配置细节(如resource name前缀、auth="Container"、factory类匹配等)、Spring端jee:
jndi
-lookup的4个核心属性(
jndi
-name、expected-type、lookup-on-startup等),以及MySQL 8.0+驱动与URL新规。强调XML配置优于JavaConfig的可控性,并演示HikariCP替代DBCP2的性能优化方案。
Spring集成Tomcat
JNDI
数据源实战:企业级数据库连接池集
中
管理
本文详解Spring应用如何通过
JNDI
与Tomcat集
中
管理数据库连接池,涵盖三层配置(Tomcat server.xml、web.xml resource-ref、Spring注入)、三种注入方式对比、Spring Boot适配方案及常见问题排查。重点强调
JNDI
在企业级场景
中
对资源解耦、安全管控和运维治理的价值,并提供生产验证的参数配置与性能调优实践。
IBM WebsPhere
Jndi
数据源
本文详细解析了在Websphere环境下,java:comp/env/cas与
jdbc
/cas两种
JNDI
查找
方式的区别及应用场景。前者适用于容器内部线程,后者则用于非容器线程。文章还提供了如何在web.xml和ibm-web-bnd.xmi
中
进行配置以
使用
java:comp/env/cas的示例。
Java EE
67,535
社区成员
225,851
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章