您的位置:首页 > 编程语言 > Java开发

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 也是。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: