文档章节

使用druid配置jndi

Iverson58
 Iverson58
发布于 2015/12/19 17:26
字数 245
阅读 89
收藏 1


1.druid.jar、mysql.jar放到%tomcat_home%\lib下

2.%tomcat_home%\conf下配置context.xml配置如下

<Context>

<Resource name="UserDatabase" auth="Container"

              type="org.apache.catalina.UserDatabase"

              description="User database that can be updated and saved"

              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

              pathname="conf/tomcat-users.xml" />


<Resource 

         name="jdbc/MysqlDataSource"

         factory="com.alibaba.druid.pool.DruidDataSourceFactory"

         auth="Container"

       type="javax.sql.DataSource"

       driverClassName="com.mysql.jdbc.Driver"

      url="jdbc:mysql://localhost:3306/basicpool?useUnicode=true&amp;characterEncoding=utf-8"

        username="root"

     password="root"

        maxActive="50"

      maxWait="10000"

         removeabandoned="true"

       removeabandonedtimeout="60"

        logabandoned="false"

filters="stat"/>


</Context>


如果是jdbc获取jndi数据源

/**

 * @ClassName: JdbcUtil

 * @Description: Jdbc连接工具类

 * @author  Iverson

 *

 */

public class JdbcUtil {


    private static final String MYSQL_DB_JNDINAME="java:comp/env/jdbc/MysqlDataSource";

private static DruidDataSource dsMysql;

static {

   try {

                //1.初始化名称查找上下文

       Context ctx= new InitialContext();

           //2.通过JNDI名称知道到DataSource

       dsMysql=(DruidDataSource) ctx.lookup(MYSQL_DB_JNDINAME);

       

        } catch (Exception e) {

        e.printStackTrace();

        }

}


/**

* 获取connection

* @return 

* @throws Exception

*/

public static Connection getConnection()throws Exception{

   return dsMysql.getConnection();

}

}



如果是spring配置

<!-- 引入外部文件 -->

<context:property-placeholder location="classpath:jdbc.properties" />

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">

<property name="jndiName" value="${jndiName}"/>

</bean>

<!-- 事务 -->

<bean id="transactionManager"  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<property name="dataSource" ref="dataSource"/>

</bean>

<!-- 开启事务注解 -->

<tx:annotation-driven transaction-manager="transactionManager"/>


jdbc.properties

jndiName=java:comp/env/jdbc/MysqlDataSource




© 著作权归作者所有

共有 人打赏支持
Iverson58
粉丝 2
博文 25
码字总数 49957
作品 0
天津
私信 提问
elastic-job-lite频繁报主键重复错误

今天公司其他项目组使用elastic-job-lite时,发现一只报主键重复。根据错误信息发现是执行JobEventRdbStorage类的insertJobExecutionEventWhenSuccess方法报错。 具体错误信息如下: com.my...

开源中国总书记
2017/12/27
466
5
使用Druid但jndi报错

@wenshao 你好,想跟你请教个问题: 现在我使用springmvc配置数据源用的是mybatis但配置之后有异常,这个是配置文件 com.hailang.service.* 报[org.springframework.jndi.JndiLocatorDelega...

hailang2013
2013/10/21
2.7K
0
使用Druid解决Oracle Thin驱动中文乱码

问题 使用Oracle Thin驱动比较麻烦的一个问题是容易出现中文乱码,且Thin驱动不像MySQL驱动那样能在链接字符串中指定编码。 2. 思路 最直接的解决方案是对所有数据库中读出的字符串进行编解码...

joshuazhan
2013/03/16
0
4
配置在Weblogic中的JNDI,Druid如何进行设置

@wenshao 你好! 我在学习和使用Druid的过程中,发现真的很好使,于是想将我们目前的项目中的数据库连接牵移到Druid上来。 但有一个问题就是,我们的项目是采用Weblogic配置的JNDI数据源。 ...

风华溪
2013/04/12
2.2K
5
主流Java数据库连接池比较及前瞻

本文转载自微信公众号「工匠小猪猪的技术世界」 主流数据库连接池 常用的主流开源数据库连接池有C3P0、DBCP、Tomcat Jdbc Pool、BoneCP、Druid等 C3p0: 开源的JDBC连接池,实现了数据源和JND...

渣渣(Charles)
04/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

jquery通过id显示隐藏

var $div3 = $('#div3'); 显示 $div3.show(); 隐藏 $div3.hide();

yan_liu
今天
3
0
《乱世佳人》读书笔记及相关感悟3900字

《乱世佳人》读书笔记及相关感悟3900字: 之前一直听「荔枝」,后来不知怎的转向了「喜马拉雅」,一听就是三年。上班的时候听房产,买房了以后听装修,兴之所至时听旅行,分手后听亲密关系,...

原创小博客
今天
3
0
大数据教程(9.6)map端join实现

上一篇文章讲了mapreduce配合实现join,本节博主将讲述在map端的join实现; 一、需求 实现两个“表”的join操作,其中一个表数据量小,一个表很大,这种场景在实际中非常常见,比如“订单日志...

em_aaron
今天
3
0
cookie与session详解

session与cookie是什么? session与cookie属于一种会话控制技术.常用在身份识别,登录验证,数据传输等.举个例子,就像我们去超市买东西结账的时候,我们要拿出我们的会员卡才会获取优惠.这时...

士兵7
今天
3
0
十万个为什么之为什么大家都说dubbo

Dubbo是什么? 使用背景 dubbo为什么这么流行, 为什么大家都这么喜欢用dubbo; 通过了解分布式开发了解到, 为适应访问量暴增,业务拆分后, 子应用部署在多台服务器上,而多台服务器通过可以通过d...

尾生
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部