(转)"无法定位资源引用 jdbc/***,,因此使用下列缺省值:[Resource-ref settings] "的解释
WebSphere Application Server v5 的应用中,当lookup数据源时,日志中出现如下信息,但数据源却能够使用,这是怎么回事?
ConnectionFac I J2CA0122I: 无法定位资源引用 jdbc/testdb,因此使用下列缺省值:[Resource-ref settings]
res-auth: 1 (APPLICATION)
res-isolation-level: 0 (TRANSACTION_NONE)
res-sharing-scope: true (SHAREABLE)
res-resolution-control: 999 (undefined)
解答:
WebSphere Application Server v5 中,所有连接器的访问都是通过J2C实现的。数据库访问提供了对 JCA 1.0 规范的完整支持,例如,对连接共享的支持,这是通过支持部署描述符中资源引用(resource-ref)的res-sharing-scope标记来实现的。
当创建数据源时,会指定一个的JNDI名称,它可以被其它组件(例如servlet等)用来查找(lookup)该数据源。
当然,直接使用数据源的JNDI名称也是支持的。这种情况下,会使用默认的资源引用属性。您会在日志文件中看到如下类似信息:
J2CA0122I: 无法定位资源引用 jdbc/testdb,因此使用下列缺省值:[Resource-ref settings]
res-auth: 1 (APPLICATION)
res-isolation-level: 0 (TRANSACTION_NONE)
res-sharing-scope: true (SHAREABLE)
res-resolution-control: 999 (undefined)
也就是说,当上述信息出现时,说明应用中是通过数据源的JNDI名称直接查找(lookup)数据源的,并且使用了上述默认属性。如果不想使用默认属性或不想输出上述提示信息,则需要在部署描述符中定义该数据源的资源引用,相应的,应用中需要使用间接的JNDI查找,即在java:comp/env上下文中查找。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步