eclipse web工程中jndi数据源设置
2016-04-13 11:38
513 查看
开发的web工程改用jndi来配置数据源。
spring配置:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/yourDataSource</value>
</property>
</bean>
tomcat的server.xml中配置Resource(可放置在GlobalNamingResources中):
<Resource name="jdbc/yourDataSource"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/yourDataBase?characterEncoding=utf8"
username="testuser"
password="testpassword"
maxIdle="20"
maxWait="2000"
maxActive="20"
removeAbandoned="true"
removeAbandonedTimeout="180"
logAbandoned="true"
factory="com.alibaba.druid.pool.DruidDataSourceFactory" />
注意如果缺失相应的jar包,需要拷贝jar包到tomcat/lib下,这里用的是druid
具体项目的<Context></Context>标签中引用
<ResourceLink global="jdbc/yourDataSource" name="jdbc/yourDataSource" type="javax.sql.DataSource"/>
问题来了,我的web容器是tomcat8,且集成大eclipse中了,每次启动时都会为单个项目在tomcat\conf\Catalina\localhost目录下生成单独的xxx.xml文件。如果在tomcat目录下的server.xml中进行设置,每次设置都还原了。启动tomcat则报找不到数据源
后来查资料才知道,Resource配置在错误的地方了。
如上图配置,jndi要配置到eclipse的Servers的对应tomcat下的server.xml中,ResourceLink 也是。
spring配置:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/yourDataSource</value>
</property>
</bean>
tomcat的server.xml中配置Resource(可放置在GlobalNamingResources中):
<Resource name="jdbc/yourDataSource"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/yourDataBase?characterEncoding=utf8"
username="testuser"
password="testpassword"
maxIdle="20"
maxWait="2000"
maxActive="20"
removeAbandoned="true"
removeAbandonedTimeout="180"
logAbandoned="true"
factory="com.alibaba.druid.pool.DruidDataSourceFactory" />
注意如果缺失相应的jar包,需要拷贝jar包到tomcat/lib下,这里用的是druid
具体项目的<Context></Context>标签中引用
<ResourceLink global="jdbc/yourDataSource" name="jdbc/yourDataSource" type="javax.sql.DataSource"/>
问题来了,我的web容器是tomcat8,且集成大eclipse中了,每次启动时都会为单个项目在tomcat\conf\Catalina\localhost目录下生成单独的xxx.xml文件。如果在tomcat目录下的server.xml中进行设置,每次设置都还原了。启动tomcat则报找不到数据源
后来查资料才知道,Resource配置在错误的地方了。
如上图配置,jndi要配置到eclipse的Servers的对应tomcat下的server.xml中,ResourceLink 也是。
相关文章推荐
- myeclipse项目中有个感叹号是什么原因
- Java字符串操作汇总
- [Java] 过滤文件夹
- 记一次线上应用连接池满的处理
- java并发系列:深入分析Synchronized
- 使用Spring MVC统一异常处理实战
- 深入理解 Java中的 流 (Stream)
- What is CyclicBarrier in Java
- Java NIO使用及原理分析 (一)
- java 常用23中设计模式
- java并发:线程池、饱和策略、定制、扩展
- What is CountDownLatch in Java
- Spring框架下的单元测试方法
- Spring+Struts+Hibernate框架详解
- Java ClassLoader基础及加载不同依赖 Jar 中的公共类
- Java文件操作
- [Java] 匿名内部类
- LeetCode Power of Three JAVA
- [Java] 内部类的用法
- Java 并发专题 :FutureTask 实现预加载数据 在线看电子书、浏览器浏览网页等