`
nlslzf
  • 浏览: 1044777 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring配置下通过tomcat的jndi服务连接数据库

阅读更多
http://77857.blog.51cto.com/67857/162262

在开发OA系统因为采用了spring+hibernate架构,其中数据源很多,采用jdbc注入到spring中,结果时间长了,数据库容易断开,改成了jndi,jndi由spring去管理
1、配置jndi文件
文件位置
%TOMCAT_HOME% \conf\Catalina\localhost
文件名
webapp工程的名字.xml。如:若工程名为jndidemo,则文件取名为jndidemo.xml。一般情况下该文件会存在。如果不存在可手动创建
文件内容应该有如下格式:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource
name="jdbc/jndidemo1"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
password="efnx"
maxIdle="2"
maxWait="5000"
username="efnx"
url="jdbc:oracle:thin:@(description=(address_list=(address=(protocol=TCP)(port=1521)(host=192.168.0.240)))(connect_data=(SERVER = DEDICATED)(SERVICE_NAME = db.efriendnet.com)))"
maxActive="4"/>
</Context>
根据具体需要修改相应内容。

2、Spring配置文件
在Spring配置文件中增加如下类似内容
<bean id="jndiDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/jndidemo1</value>
</property>
</bean>

3、持久化配置文件
对持久化层进行依赖注入时,给dataSource属性注入jndiDataSource即可。如:
<property name=”dataSource” ref=”jndiDataSource”/>

4、数据库驱动
最后别忘了将相应的数据库驱动拷贝到%TOMCAT_HOME%\common\lib下

注意事项:
根据tomcat版本不同,jndi配置文件的写法存在差异。现给出说明:
版本:4.x
这个版本的配置文件一般都写在%TOMCAT_HOME% \conf\server.xml文件中。因为现在基本都在用5.x版本,所以这里就不做详细说明了。
版本:5.0.xx
这个版本将context的内容独立了出来放到了%TOMCAT_HOME% \conf\Catalina\localhost下,且不同的工程生成相应的配置文件,但文件格式和4.x类似:如:
<?xml version='1.0' encoding='gb2312'?>
<Context displayName="Cactus Blog Web Application 1.0" docBase="D:/apache-tomcat-5.5.15/webapps/JndiDemo" path="/JndiDemo" workDir="work\Catalina\localhost\JndiDemo">
<Resource auth="Container" description="Oracle DataBase" name="jdbc/jndidemo" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/jndidemo">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://59.151.17.254:1500;DatabaseName=YeeYoo_DB</value>
</parameter>
<parameter>
<name>username</name>
<value>crm</value>
</parameter>
<parameter>
<name>password</name>
<value>crmyeeyoo</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
</ResourceParams>
</Context>

版本5.5.xx
该版本中给配置文件格式作了较大改动,使其更加简洁。格式内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource
name="jdbc/jndidemo"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
password="efnx"
maxIdle="2"
maxWait="5000"
username="efnx"
url="jdbc:oracle:thin:@(description=(address_list=(address=(protocol=TCP)(port=1521)(host=192.168.0.240)))(connect_data=(SERVER = DEDICATED)(SERVICE_NAME = db.efriendnet.com)))"
maxActive="4"/>
</Context>

请根据不同版本编写相应格式的配置文件否则会出现各种各样不同的问题。
分享到:
评论

相关推荐

    如何在spring中等价配置得到原本由jndi配置实现的数据源

    然而,有时我们可能希望在非Web环境下或不使用JNDI的情况下配置数据源,这时我们需要在Spring的配置文件中等价地实现JNDI的数据源配置。以下是如何在Spring中进行这种转换的详细步骤和知识点: 1. **理解JNDI配置**...

    spring配置JNDI数据源

    在Java企业级应用中,数据源(DataSource)是管理数据库连接的重要组件,它负责创建、分配和管理...这种方式的好处在于解耦,应用不再直接依赖具体的数据库连接配置,而是通过JNDI查找来获取,便于应用部署和管理。

    tomcat6.0 配置jndi

    在Tomcat6.0中配置JNDI,主要是为了实现应用中的数据源管理,使得多个应用可以共享一个数据库连接池,提高资源利用率和系统性能。 **一、JNDI的基本概念** JNDI提供了一个统一的接口,让开发者可以查找和绑定各种...

    Tomcat6+spring+jndi配置数据源说明.docx

    Tomcat6+Spring+JNDI配置数据源说明 本文档主要介绍了Tomcat6+Spring+JNDI配置数据源的详细步骤和原理。数据源是一个池子,里面有若干个数据连接对象,当需要时就从里面拿一个使用,使用完毕就放回去,如果超过最大...

    tomcat6+jndi+c3p0配置数据库连接池

    本示例主要讲解如何在Tomcat6中结合JNDI(Java Naming and Directory Interface)和C3P0库来配置数据库连接池,这对于初学者理解Web应用服务器与数据库的交互方式具有很大帮助。 首先,C3P0是一个开源的JDBC连接池...

    Tomcat配置数据库连接池

    配置完成后,应用可以通过JNDI(Java Naming and Directory Interface)查找并使用数据源,例如在Spring框架中,可以使用`@Resource`注解来注入数据源。 总之,配置Tomcat的数据库连接池对于优化Web应用的性能至关...

    spring 配置jndi

    在Spring框架中,JNDI(Java Naming and Directory Interface)...总之,配置Spring中的JNDI数据源是实现灵活且可扩展的数据库连接管理的关键步骤。理解这一过程将帮助你更好地构建和维护基于Spring的分布式应用程序。

    配置 JNDI 数据源

    在Spring框架与Tomcat服务器的集成中,配置JNDI数据源是将数据库连接管理交给服务器来处理,提高应用的可移植性和资源利用率。下面将详细解释配置JNDI数据源的相关知识点。 一、JNDI数据源的概念 JNDI数据源是一种...

    tomcat连接池配置

    在Java Web开发中,Tomcat作为一款广泛应用的开源Servlet容器,其性能...正确配置连接池参数,结合实际运行情况持续优化,可以有效减少数据库访问延迟,提高系统响应速度,同时节约资源,确保服务的稳定性和可靠性。

    Tomcat统一配置C3P0连接池

    【描述】中的XML配置片段展示了在Spring框架中配置一个通过JNDI查找的数据源,这正是Tomcat统一配置C3P0连接池的一个关键步骤。`&lt;bean id="dataSource2" class="org.springframework.jndi.JndiObjectFactoryBean"&gt;`...

    Tomcat6.0配置JNDI数据源完整例子(5.5与此配置相同)

    JNDI允许应用通过一个统一的接口来查找和访问资源,如数据库连接池,从而提高应用的可移植性和可管理性。 首先,我们需要了解JNDI的基本概念。JNDI是一个API,它为Java应用程序提供了一个标准的方式来查找和访问...

    JAVA数据库连接池(C3P0,Druid,JNDI ,DBCP,Proxool,BoneCP)

    在Spring+MyBatis+maven环境下,这些连接池可以通过配置XML或Java配置类的方式进行集成。例如,Druid的配置通常会涉及数据源的初始化、最大最小连接数、超时设置、过滤器配置等。在应用启动后,Spring会根据配置创建...

    tomcat数据连接池配置

    3. **在Web应用中使用数据源**:在你的应用代码中,可以通过JNDI查找来获取数据源,并使用它来获取数据库连接。例如,使用Spring框架时,可以在配置文件中声明数据源: ```xml &lt;bean id="dataSource" class="org....

    JNDI与Tomcat连接池的例子

    在Java应用服务器中,管理数据库连接的高效方式是使用连接池。Tomcat作为一个流行的轻量级应用服务器,它内建了连接...通过研究这些代码,你可以更深入地了解如何在实际项目中结合JNDI和Tomcat连接池来管理数据库连接。

    tomcat连接池mysql多种配置

    2. 创建配置文件:在Tomcat的conf目录下创建dbcp.properties,定义数据库连接的相关属性。 3. 配置数据源:同样在web.xml中配置DBCP数据源,指定数据库连接的配置信息。 三、HikariCP连接池配置 HikariCP是目前...

    tomcat下面配置连接池

    根据给定的文件信息,我们可以总结出在Tomcat服务器下配置连接池的...以上就是关于在Tomcat环境下配置连接池及与Spring框架整合的主要知识点。通过这些步骤,开发者可以有效地管理和优化数据库连接,提高应用程序性能。

    tomcat数据库服务器

    综上所述,"Tomcat数据库服务器"涉及到的内容包括Tomcat与数据库的集成、JDBC驱动的使用、数据源配置、JNDI查找、数据库连接的管理和安全性,以及性能优化等多个方面。理解和掌握这些知识点对于开发和运维基于Tomcat...

    spring JTA集成JOTM或Atomikos配置分布式事务(Tomcat应用服务器)

    在IT行业中,分布式事务处理是复杂系统架构中的一个重要环节,特别是在多数据库或者微服务环境中。...通过上述步骤,开发者能够在Tomcat应用服务器上实现跨数据库的事务一致性,从而构建更健壮的分布式应用。

    tomcat-jdbc-7.0.42.jar

    在Java Web开发中,数据库连接管理是至关重要的部分,而Tomcat JDBC连接池(也称为Tomcat JNDI DataSource Provider)则是一个高效、轻量级且功能丰富的连接池实现。这个连接池组件在Spring Boot框架中被广泛使用,...

Global site tag (gtag.js) - Google Analytics