在平台中使用JNDI 数据源

摘要:
在某些情况下,为了系统安全,可以将数据源配置为JNDI。在程序中,您只需要使用容器的JNDI路径--基本属性url、用户、密码--˃˂!

有些情况下为了系统的安全性考虑,可以将数据源配置成JNDI,在程序中只需要使用 容器的JNDI路径就可以了。

配置方法

1.在容器中配置数据源

<Context path="/" docBase="E:work
edxunhunanjdsrcmainwebapp" >
             <Resource name="jdbc/aps"
                factory="com.alibaba.druid.pool.DruidDataSourceFactory"
                auth="Container"
                type="javax.sql.DataSource"
                driverClassName="oracle.jdbc.OracleDriver"
                url="jdbc:oracle:thin:@//localhost:1521/orclpdb"
                username="aps"
                password="aps"
                maxActive="50"
                maxWait="10000"
                removeabandoned="true"
                removeabandonedtimeout="60"
                logabandoned="false"
                filters="stat" />

         </Context>        

这个是在server.xml 中做的配置。

2.配置程序使用 JNDI数据源

程序中原来的数据库连接池的配置。

<bean id="dataSource_Default"
        class="com.alibaba.druid.pool.DruidDataSource" init-method="init"
        destroy-method="close">
        <!-- 基本属性 url、user、password -->
        <property name="name" value="系统数据源" />
        <property name="url" value="${db.url}" />
        <property name="username" value="${db.username}" />
        <property name="password" value="${db.password}" />

        <!-- 配置初始化大小、最小、最大 -->
        <property name="initialSize"
            value="${db.minimumConnectionCount}" />
        <property name="minIdle" value="${db.minimumConnectionCount}" />
        <property name="maxActive"
            value="${db.maximumConnectionCount}" />

        <!-- 配置获取连接等待超时的时间 -->
        <property name="maxWait" value="60000" />

        <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
        <property name="timeBetweenEvictionRunsMillis" value="60000" />

        <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
        <property name="minEvictableIdleTimeMillis" value="300000" />

        <property name="validationQuery"
            value="SELECT 1 from act_ge_property" />
        <property name="testWhileIdle" value="true" />
        <property name="testOnBorrow" value="false" />
        <property name="testOnReturn" value="false" />

        <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
        <property name="poolPreparedStatements" value="true" />
        <property name="maxPoolPreparedStatementPerConnectionSize"
            value="20" />

        <!-- 配置监控统计拦截的filters -->
        <property name="filters" value="stat" />
    </bean>

改成使用JNDI的配置

<bean id="dataSource_Default" 
        class="org.springframework.jndi.JndiObjectFactoryBean"> 
        <property name="jndiName" value="java:comp/env/jdbc/aps" /> 
    </bean>

jdbc/aps 就是容器中的配置,这样清爽好多了。

免责声明:文章转载自《在平台中使用JNDI 数据源》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Spring声明式事务的配置~~~c# async await 理解 结合并行处理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JBOSS 数据源配置并使用JNDI调用

-- 本文出自sleest (感谢yangjj ^_^) 场景分析: 某天系统的数据库维护方要求进行DG备库容灾演练,要把生产用RAC库模拟宕机并转移至DG备库上,由于是failover而不是switchover演练,于是期间不对外开放apache访问,要求服务启动时间较紧. 数据库的切换导致IP的变更,这样导致ap上正在跑的系统不得不重新配置数据库连接,...

J2EE的13个规范之(二) JDBC 及其使用

        我想大家都知道ODBC是什么?ODBC(OpenDatabaseConnectivity。开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分。它建立了一组规范,并提供了一组对数据库訪问的标准API(应用程序编程接口)。        JDBC(Jav...

MySql连接字符串的说明

MySql连接字符串的说明 下文对MySql连接字符串的相关参数及格式进行了详细的说明,供您参考,如果对您MySql连接字符串感兴趣的话,不妨一看。 mysql JDBC 驱动常用的有两个,一个是gjt(Giant Java Tree)组织提供的mysql驱动,其JDBC Driver名称(JAVA类名)为:org.gjt.mm.mysql.Drive...

Spring框架之jdbc源码完全解析

Spring框架之jdbc源码完全解析        Spring JDBC抽象框架所带来的价值将在以下几个方面得以体现:        1、指定数据库连接参数        2、打开数据库连接        3、声明SQL语句        4、预编译并执行SQL语句        5、遍历查询结果(如果需要的话)        6、处理每一次遍历操作...

MyBatis与JDBC连接数据库所使用的url之间的差异

在Windows7 系统上安装了MySQL 8.0,然后创建Maven工程,配置pom.xml文件,添加了如下依赖: <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version&g...

DBeaver连接达梦数据库

1、连接类型选择ODBC。 2、编辑驱动设置:   1)Class Name:dm.jdbc.driver.DmDriver   2)URL Template:jdbc:dm://{dbserver}/{database}。例如:jdbc:dm://192.168.101.222/UFFICE   3)Default Port:{dbport}   4)L...