[07-12-4 11:17:51:921 CST] 0000001a ConnectionFac W J2CA0294W: 不推荐使用资源 jdbc/oracleDS 的直接 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)
res ref or CMP bean name: null
Database pool properties: null
primeID: 0
isCMP1_x: false (not CMP1.x)
isJMS: false (not JMS)
##########################################################################################
解决方法:WebSphere Application Server 6.1.0.0 下:
\WEB-INF\ibm-web-bnd.xmi文件
<?xml version="1.0" encoding="UTF-8"?>
<com.ibm.ejs.models.base.bindings.webappbnd:WebAppBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:com.ibm.ejs.models.base.bindings.webappbnd="webappbnd.xmi" xmi:id="WebAppBinding_1196672221187" virtualHostName="default_host">
<webapp href="WEB-INF/web.xml#WebApp_1166165893137"/>
<resRefBindings xmi:id="ResourceRefBinding_2" jndiName="jdbc/oracleDS">
<bindingResourceRef href="WEB-INF/web.xml#ResourceRef_2"/>
</resRefBindings>
</com.ibm.ejs.models.base.bindings.webappbnd:WebAppBinding>
\WEB-INF\web.xml文件 资源引用
<resource-ref id="ResourceRef_2">
<res-ref-name>jdbc/sxidc</res-ref-name>
<res-type>java.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
以上配置将配置在websphere中的数据源 jdbc/oracleDS 映射为 jdbc/sxidc的间接名称。数据源的获取用如下的jndi java:comp/env/jdbc/sxidc
如代码“InitialContext initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("");
ds = (DataSource) envCtx.lookup("java:comp/env/jdbc/sxidc");
connection = ds.getConnection();”
或如hibernate配置文件中
<session-factory>
<property name="hibernate.connection.datasource">
java:comp/env/jdbc/sxidc
</property>
........................
#######################################
较早的版本中 j2ee1.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>
分享到:
相关推荐
例如,对于数据库连接,你需要创建一个JDBC提供者,并配置相应的数据源,以便应用可以通过JNDI名来查找和使用数据库连接。 2. **打包应用**:确保你的Java应用包含了必要的部署描述符,如`web.xml`或`ejb-jar.xml`...
WebSphere Application Server 6.x 资源环境提供程序配置是一种高级的系统配置方式,它允许开发者在不修改应用程序代码或配置文件的情况下,通过WebSphere管理控制台动态修改J2EE应用的配置属性。这种方式特别适合...
在创建数据源后,在java中使用数据源时tomca和was的引用方法是不同的
WebSphere 常见问题及解决办法详解 在本文中,我们将详细探讨 WebSphere 中的一些常见问题及其解决方法。WebSphere 是一个基于 Java 的应用服务器,广泛应用于企业级应用开发中。然而,在实际开发和部署过程中,...
- **启动管理控制台和节点**:重新启动后,验证WebSphere是否能够正常运行,并且使用新的主机名通信。 在实际操作中,需要注意的是,如果WebSphere集群中的多个节点都需要更改主机名,必须依次完成每个节点的修改...
总结起来,这个压缩包提供了使用JNDI进行数据源管理所需的全部库文件,对于在WebSphere或其他支持JNDI的环境中开发和部署Java应用是必不可少的。正确理解和使用这些JNDI相关库,能够帮助开发者构建更加灵活和可扩展...
在帆软报表FineReport中,若要实现与Websphere应用服务器的JNDI连接,需要进行一系列配置,以确保报表能够利用JNDI获取数据源,并最终在WEB环境中通过浏览器访问报表。 首先,需要了解JNDI(Java Naming and ...
/opt/IBM/WebSphere/AppServer/classes:/opt/IBM/WebSphere/AppServer/lib:/opt/IBM/WebSphere/AppServer/installedChannels:/opt/IBM/WebSphere/AppServer/lib/ext:/opt/IBM/WebSphere/AppServer/web/help:/opt/IBM...
webSphere发应用资源记录表,发布大型应用先记录,后配置webSphere
5. **资源注入**:CXF支持JSR-250的资源注入,但在WebSphere中可能需要额外的配置。例如,添加IBM JNDI提供者的依赖,以使WebSphere支持JSR-250的注解。 6. **日志集成**:CXF有自己的日志框架,而WebSphere有内置...
- **JDBC提供程序创建**:在WebSphere管理控制台中,通过“资源” -> “JDBC” -> “JDBC提供程序”来添加新的JDBC提供程序。选择合适的节点和服务器作为作用域,接着指定数据库类型为“DB2”,提供程序类型选择...
为了解决这个问题,本文将从 WebSphere 中类加载器入手,讨论几种解决 jar 包冲突问题的办法。 WebSphere 中类加载器的层次结构 在 WebSphere 中,类加载器的层次结构是一个自上而下的分层结构,最上层是系统的...
在IT行业中,WebSphere是一个广泛使用的IBM应用服务器平台,它提供了丰富的功能来支持企业级的Java应用程序部署。本文将深入探讨“WebSphere数据源间接映射”这一主题,结合提供的标题、描述和标签,我们将围绕查找...
### Websphere Application Server 6.1 有效期问题解决办法 #### 概述 在使用IBM Websphere Application Server 6.1的过程中,用户可能会遇到软件许可证的有效期问题。一旦许可证过期,不仅会影响应用程序的正常...
这些更改将使Websphere Application Server 6.1在处理文件和客户端通信时使用UTF8编码,从而避免因编码不一致导致的乱码问题。然而,需要注意的是,如果应用程序中存在硬编码的编码设置,或者与其他系统的交互过程中...
学生将学习如何在WebSphere中配置Java Naming and Directory Interface (JNDI)以查找和绑定资源,同时还会涉及到数据源的创建和配置,这对于数据库连接的管理至关重要。 4. 实验四:安全管理与认证 这次实验重点...
WebSphere Application Server(简称WebSphere)是IBM推出的一款企业级应用服务器,主要用于部署和管理Java应用程序,特别是基于Java EE(Java Enterprise Edition)的应用。在WebSphere7版本中,它提供了强大的功能...
4. **JNDI(Java Naming and Directory Interface)和资源管理**:学习如何使用JNDI查找和绑定资源,如数据源、邮件会话等,并配置这些资源以供应用程序使用。 5. **性能调优**:掌握监控和优化WebSphere性能的方法...
2.7 填写数据源名(如SMS),JNDI名称(如SMS),选择相应的组件管理的认证别名和XA恢复认证别名(根据实际系统设置),点击“下一步”。 2.8 输入特定于Oracle数据库的属性,例如:URL设为`jdbc:oracle:thin:@...