今天想把项目中配置在spring中的数据源移到tomcat中来配置,遇见了一些问题,请各位指教,小弟感谢了。
目的:从spring中得到tomcat中配置的datasource。
我的做法:
在tomcat的context.xml文件中GlobalNamingResources标签中加入如下代码:
<Resource
name="dataSource"
type="javax.sql.DataSource"
password="54mwr"
driverClassName="org.postgresql.Driver"
maxIdle="3"
maxWait="5000"
username="alemis"
url="jdbc:postgresql://localhost:5432/alemis_dev"
maxActive="10"/>
在tomcat的context.xml文件中Host标签中加入如下代码:
<Context path="/pro" privileged="true"
docBase="E:/work2/alemis2/target/pro">
</Context>
在项目的web.xml文件的最后面加了如下代码:
<resource-ref>
<res-ref-name>dataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
然后在spring的application.xml文件中如下引用:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/dataSource</value>
</property>
</bean>
我启动tomcat的时候出现了如下错误:
2008-12-09 15:34:29,252 WARN Thread-1 hibernate.cfg.SettingsFactory Could not obtain connection metadata
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
at $Proxy0.getConnection(Unknown Source)
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:82)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2073)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1298)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:814)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:732)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1367
分享到:
相关推荐
Tomcat6+spring+jndi配置数据源说明.docx
简单我tomcat5.0中的JNDI应用
spring+jotm 多数据源事务管理(三)JNDI+Tomcat 首先需要将jotm相关jar包加入到tomcat中,如下: o jotm.jar o jotm_jrmp_stubs.jar o ow_carol.jar o jta.jar o jta-spec1_0_1.jar o jts1_0.jar o objectweb-...
spring配置JNDI数据源
TOMCAT8 JNDI对用户名和密码加密
概念:JNDI(Java Namespace Diretory Interface)是Java中命名空间和目录协议,有很多的服务器都实现了这个接口,如我们机器上的FileSystem文件系统服务器,还有LDAP(Lightweight Diretory Access Protocol轻量级的目录...
如何在spring中等价配置得到原本由jndi配置实现的数据源? 现在的问题是:由于各种原因,当不想使用jndi方式,如何等价的在spring工程内部实现配置?
tomcat-jndi
NULL 博文链接:https://zzy603.iteye.com/blog/1039826
tomcat配置jndi几个方式
hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+...
Springmvc +JNDI 在Tomcat下 配置数据源 一、 简介 二、 tomcat配置jndi有三种方式。 第一种:单个应用独享数据源 第二种:配置全局JNDI数据源,应用到单个应用 三、 数据源配置在Tomcat/conf/ context.xml 文件...
自用CVE-2018-3191 weblogic反序列化exp。
NULL 博文链接:https://buliedian.iteye.com/blog/858026
如果有人事先将另一台机器上的磁盘驱动器接到用户的机器上,用户在使用的时候根本就分辨不出现在的驱动器是存在本端,还是在另一端的机器上,用户只需取得资源来用,根本就不知道资源在什么地方。
Tomcat JNDI 数据源 自动生成程序 Servlet 版 本程序自动判断Tomcat版本,...3、按照页面上的提示输入 Tomcat JNDI DataSource 配置信息; 4、点击提交,配置文件将会自动生成,在配置路径中可以找到你的配置文件。
在tomcat中使用数据库连接池,方式:jndi配置
TOMCAT JNDI配置
在spring中配置jndi数据源~~
连接数据库有JDBC和JNDI等多种方式,该文件详细的描述了如何在tomcat6下配置JNDI的方法,本人测试多次很有效,绝对正确。