IBM WAS5.x "无法定位资源引用 jdbc/DSName,因此使用下列缺省值"问题解决方案

ConnectionFac I J2CA0122I: 无法定位资源引用 jdbc/DSName,因此使用下列缺省值:[Resource-ref settings]

 res-auth:                 1 (APPLICATION)
 res-isolation-level:      0 (TRANSACTION_NONE)
 res-sharing-scope:        true (SHAREABLE)
 res-resolution-control:   999 (undefined)
[Other attributes]

isCMP1_x:                 false (not CMP1.x)
isJMS:                 false (not JMS)


公司一直用WSAD开发,服务器总是System.out这个问题,虽然不是错误,但是很烦人,想去掉了,问了不少人,也google了很多次,没有找到解决办法。今天百度了一下,终于解决了(看来还是多个搜索引擎并存的好,至少多了一个选择)。

准备写一个,但是原来写得很好,就转一下吧,希望这个帖子能尽快收录到google,帮助不明白此问题的网友找到答案。

==>>>以下为转帖内容:

那天他们把43的数据库连接改成了缓冲池,在WAS上调程序的时候发现LOG里老有如下信息:

ConnectionFac I J2CA0122I: 无法定位资源引用 jdbc/DSName,因此使用下列缺省值:[Resource-ref settings]

 res-auth:                 1 (APPLICATION)
 res-isolation-level:      0 (TRANSACTION_NONE)
 res-sharing-scope:        true (SHAREABLE)
 res-resolution-control:   999 (undefined)
[Other attributes]

isCMP1_x:                 false (not CMP1.x)
isJMS:                 false (not JMS)

是在每一次连接数据库时,为什么呢?数据库的连接没有问题,对数据库的操作也没有受到一点儿影响……?
后来到网上SEARCH了一下,发现好多人都遇到了这个问题,当然也找到了解决的办法。但,不行!
因为事儿多所以就耽误了下来,正好今天IBM软件部的胡鹏飞来给我们讲WAS6(好家伙,5天的课程,今天一天全都突击出来)。
下午讲完课后我问他这个问题如何解决,他告诉我如何如何解决。他的方法与我的一样,可我的为什么不行呢?

解决方法如下:

J2EE 1.3的规范里面是推荐通过引用来访问各种资源,而不是直接使用资源的名字。对于数据源而言,虽然可以通过InitialContext的lookup("jdbc/DSName")来使用,但这不是推荐的做法,而且在SystemOut.log日志中出现上述信息。如果为应用程序模块定义相应的数据源引用,然后在代码中用InitialContext的lookup("java:comp/env/DSRefName")就不会出现上述信息。
主要是要把web.xml中的resource-ref标记设为
<resource-ref id="ResourceRef_#">
  <res-ref-name>jdbc/DSName</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>CONTAINER</res-auth>
  <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
在JAVA使用缓冲池连接数据库时这样写:
...........
Context ctx = new InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup("java:comp/env/jdbc/DSName");
connection = ds.getConnection();
............

我在WAS的控制管理器中说什么也没有找到设置resource-ref的地方,后来我想是不是应该重新部署一下应用呢?我嫌麻烦就没有做,胡鹏飞告诉我要设置resource-ref只能重新部署应用。如果手工改文件比较麻烦,因为在ibm-web-bnd.xmi和ibm-web-ext.xmi都要做绑定。他建议我先在WSAD中设置完再把这三个文件复制到WAS里。并且在应用服务器的config目录里也要有相应的修改,因为WAS读的是config目录下的配置,不是企业应用。
sigh,恍然大悟啊,明白了,MD因为WAS还牵扯到集群方面,所以它不能从企业应用读配置文件。我还是懒,所以我要手工改。嘿嘿!web.xml早就改好了:D,我把ibm-web-bnd.xmi和ibm-web-ext.xmi打开,将与resource-ref所对应该的地方改好,当然config目录也是同样。重起了服务器后,再试。如然好了!:p

ibm-web-bnd.xmi和ibm-web-ext.xmi里绑定代码分别是:

[ibm-web-bnd.xmi]
.......
<resRefBindings xmi:id="ResourceRefBinding_#" jndiName="jdbc/DSName">
  <bindingResourceRef href="WEB-INF/web.xml#ResourceRef_#"/>
</resRefBindings>
.......

[ibm-web-ext.xmi]
.......
<resourceRefExtensions xmi:id="ResourceRefExtension_#" connectionManagementPolicy="Default">
  <resourceRef href="WEB-INF/web.xml#ResourceRef_#"/>
</resourceRefExtensions>
.......

note:代码基本上是放在<webApp href="WEB-INF/web.xml#WebApp_ID"/>标记的下面。

有几项注意的就是,
一、如果企业应用已经部署好了要对resource-ref,换句话说要改web.xml的设置,最好在外面改好比如WSAD里,再重新部署进WAS里。
二、如要手工改的话别忘了ibm-web-bnd.xmi和ibm-web-ext.xmi这两个问题要做关联的设置,还有应用服务的config目录。
三、为什么我在JAVA连数据库时没有在getConnection时加入用户名和密码呢,嘿嘿,因为在WAS的JAAS下的J2C设好了用户,并在设置JDBC缓冲池时在"组件受管认证别名"和"容器受管的认证别名"已经选中了我设置的数据库用户。

e=admin t=2025-05-27T16:03:49.522532125Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=30004 duration=30.0044843s size=548 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:03:49.54540158Z level=error msg="Exemplar query failed" query="sum(kube_node_status_allocatable{origin_prometheus=~\"\",resource=\"memory\", unit=\"byte\", node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": dial tcp 10.109.175.244:9090: i/o timeout" logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:09.517139742Z level=error msg="Exemplar query failed" query="sum(kube_pod_container_resource_requests{origin_prometheus=~\"\",resource=\"memory\", unit=\"byte\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": dial tcp 10.109.175.244:9090: i/o timeout" logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:09.524447242Z level=error msg="Exemplar query failed" query="sum(kube_pod_container_resource_requests{origin_prometheus=~\"\",resource=\"cpu\", unit=\"core\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": dial tcp 10.109.175.244:9090: i/o timeout" logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:09.530136946Z level=error msg="Exemplar query failed" query="sum(kube_node_status_allocatable{origin_prometheus=~\"\",resource=\"cpu\", unit=\"core\", node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": dial tcp 10.109.175.244:9090: i/o timeout" logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:09.551153764Z level=error msg="Exemplar query failed" query="sum (container_memory_working_set_bytes{origin_prometheus=~\"\",container!=\"\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": dial tcp 10.109.175.244:9090: i/o timeout" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:04:09.551261227Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=40010 duration=40.010425856s size=406 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:12.007179521Z level=error msg="Exemplar query failed" query="sum (irate(container_cpu_usage_seconds_total{origin_prometheus=~\"\",id=\"/\",node=~\"^$\"}[2m]))" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": context canceled" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:04:12.007522403Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=22481 duration=22.481742859s size=381 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:12.007750053Z level=error msg="Exemplar query failed" query="count(kube_node_info{origin_prometheus=~\"\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": context canceled" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:04:12.00727399Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=42482 duration=42.482681596s size=1032 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:12.008305258Z level=error msg="Exemplar query failed" query="sum(kube_pod_container_resource_limits{origin_prometheus=~\"\",resource=\"cpu\", unit=\"core\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": context canceled" logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:12.008338346Z level=error msg="Exemplar query failed" query="count(kube_pod_info{origin_prometheus=~\"\",created_by_kind!~\"<none>|Job\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": context canceled" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:04:12.008580027Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=62492 duration=1m2.492137094s size=701 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:12.008745526Z level=error msg="Exemplar query failed" query="sum(kube_node_status_allocatable{origin_prometheus=~\"\",resource=\"pods\", unit=\"integer\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": context canceled" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:04:12.008810034Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=2454 duration=2.454267935s size=527 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:12.009153219Z level=error msg="Exemplar query failed" query="sum(kube_pod_container_resource_limits{origin_prometheus=~\"\",resource=\"memory\", unit=\"byte\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": context canceled" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:04:12.009254653Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=62501 duration=1m2.501457741s size=701 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=infra.usagestats t=2025-05-27T16:04:33.193272755Z level=info msg="Usage stats are ready to report" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:05:52.404511678Z level=error msg="no admin configuration available" error="no admin configuration available" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:05:52.40475163Z level=info msg="Request Completed" method=GET path=/api/v1/ngalert/admin_config status=404 remote_addr=10.244.1.0 time_ms=1 duration=1.763324ms size=59 referer=http://172.25.254.50/alerting/admin handler=/api/v1/ngalert/admin_config status_source=server logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:09:26.491031204Z level=error msg="no admin configuration available" error="no admin configuration available" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:09:26.491245851Z level=info msg="Request Completed" method=GET path=/api/v1/ngalert/admin_config status=404 remote_addr=10.244.1.0 time_ms=2 duration=2.983592ms size=59 referer=http://172.25.254.50/alerting/admin handler=/api/v1/ngalert/admin_config status_source=server logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:09:37.75798914Z level=info msg="Request Completed" method=GET path=/api/datasources/proxy/uid/alertmanager/api/v1/status/buildinfo status=404 remote_addr=10.244.1.0 time_ms=8 duration=8.517576ms size=19 referer=http://172.25.254.50/connections/datasources/edit/alertmanager handler=/api/datasources/proxy/uid/:uid/* status_source=server logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:09:37.780046916Z level=info msg="Request Completed" method=GET path=/api/datasources/proxy/uid/alertmanager/alertmanager/api/v2/status status=404 remote_addr=10.244.1.0 time_ms=2 duration=2.492519ms size=19 referer=http://172.25.254.50/connections/datasources/edit/alertmanager handler=/api/datasources/proxy/uid/:uid/* status_source=server logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:09:55.576074595Z level=error msg=InternalError error="[plugin.downstreamError] client: failed to call resources: error querying resource: Get \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/label/origin_prometheus/values?match%5B%5D=kube_node_info&start=1748360386&end=1748362186\": dial tcp 10.109.175.244:9090: i/o timeout" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:09:55.576133342Z level=error msg="Request Completed" method=GET path=/api/datasources/uid/prometheus/resources/api/v1/label/origin_prometheus/values status=500 remote_addr=10.244.1.0 time_ms=10002 duration=10.002799959s size=116 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/datasources/uid/:uid/resources/* status_source=downstream logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:05.606246715Z level=error msg=InternalError error="[plugin.downstreamError] client: failed to call resources: error querying resource: Get \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/label/node/values?match%5B%5D=kube_node_info%7Borigin_prometheus%3D~%22%22%7D&start=1748360396&end=1748362196\": dial tcp 10.109.175.244:9090: i/o timeout" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:05.60631776Z level=error msg="Request Completed" method=GET path=/api/datasources/uid/prometheus/resources/api/v1/label/node/values status=500 remote_addr=10.244.1.0 time_ms=10003 duration=10.00376243s size=116 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/datasources/uid/:uid/resources/* status_source=downstream logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:05.606327777Z level=error msg=InternalError error="[plugin.downstreamError] client: failed to call resources: error querying resource: Get \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/label/namespace/values?match%5B%5D=kube_namespace_created%7Borigin_prometheus%3D~%22%22%7D&start=1748360396&end=1748362196\": dial tcp 10.109.175.244:9090: i/o timeout" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:05.606375344Z level=error msg="Request Completed" method=GET path=/api/datasources/uid/prometheus/resources/api/v1/label/namespace/values status=500 remote_addr=10.244.1.0 time_ms=10003 duration=10.003738536s size=116 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/datasources/uid/:uid/resources/* status_source=downstream logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:15.628274721Z level=error msg=InternalError error="[plugin.downstreamError] client: failed to call resources: error querying resource: Get \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/label/container/values?match%5B%5D=kube_pod_container_info%7Borigin_prometheus%3D~%22%22%2Cnamespace%3D~%22%22%7D&start=1748360406&end=1748362206\": dial tcp 10.109.175.244:9090: i/o timeout" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:15.628347455Z level=error msg="Request Completed" method=GET path=/api/datasources/uid/prometheus/resources/api/v1/label/container/values status=500 remote_addr=10.244.1.0 time_ms=10002 duration=10.002678393s size=116 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/datasources/uid/:uid/resources/* status_source=downstream logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:25.643322497Z level=error msg=InternalError error="[plugin.downstreamError] client: failed to call resources: error querying resource: Get \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/label/pod/values?match%5B%5D=kube_pod_container_info%7Borigin_prometheus%3D~%22%22%2Cnamespace%3D~%22%22%2Ccontainer%3D~%22%22%7D&start=1748360416&end=1748362216\": dial tcp 10.109.175.244:9090: i/o timeout" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:25.643392778Z level=error msg="Request Completed" method=GET path=/api/datasources/uid/prometheus/resources/api/v1/label/pod/values status=500 remote_addr=10.244.1.0 time_ms=10002 duration=10.002621373s size=116 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/datasources/uid/:uid/resources/* status_source=downstream
05-29
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值