怎么用jndi获取tomcat的数据库配置

 我来答
萌重江4403
2016-10-16 · 超过35用户采纳过TA的回答
知道答主
回答量:267
采纳率:0%
帮助的人:62.9万
展开全部
找到tomcat解压后的目录 C:\programs\apache-tomcat-7.0.42

在conf目录下主要在server.xml和context.xml中添加配置

在server.xml中添加数据库连接地址,在<GlobalNamingResources>中添加如下内容
<Resource auth="Container" driverClassName="org.postgresql.Driver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" initialSize="3" jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer" jmxEnabled="true" logAbandoned="true" maxActive="5" maxWait="10000" minEvictableIdleTimeMillis="30000" minIdle="3" name="jdbc/userdb" password="123456" removeAbandoned="true" removeAbandonedTimeout="60" testOnBorrow="true" testOnReturn="false" testWhileIdle="true" timeBetweenEvictionRunsMillis="30000" type="javax.sql.DataSource" url="jdbc:postgresql://localhost:5432/userdb" username="postgres" validationInterval="30000"/>

在context.xml添加jndi全局变量,在 </Context>上面添加如下内容:
<ResourceLink global="jdbc/userdb" name="jdbc/userdb" type="javax.sql.DataSource"/>
属性中的name对应的值要和上一步 Resource 里面的name值一样

有多个数据库连接时对应上面多个<Resource>和<ResourceLink>即可

在spring中使用jndi的方法 在applicationContext.xml配置文件中添加dataSource
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/userdb" /> <property name="resourceRef" value="true" /> </bean>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式