Jboss迁移到Tomcat之手记(三)-JDBC

本文涉及的产品
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介:

首先,Data source可以做为Resource(JDNI方式)可以在$TOMCAT_HOME/conf/context.xmlserver.xmlGlobalNamingResources元素里配置成全局资源或$project.war/META-INF/conext.xml配置成应用级资源,然后在web application context配置该JNDI, 如(假设JNDI名字为/jdbc/my-ds):

(context.xml)
<Context>
     <Resource name="jdbc/my-ds" auth="Container" type="javax.sql.DataSource"
     maxActive="80" maxIdle="50" maxWait="10000" 
     username="aaaa" password="****" driverClassName="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/DBNAME" />
</Context>
(appcontext.xml)
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">  
    <property name="jndiName" value="java:comp/env/jdbc/my-ds"/>   
</bean>
也可以集成如spring框架直接配成bean。因为之前jboss就用了spring, 所以还是用spring bean来配置一个Apache common DBCP实例。
(Mysql, oracle只需要改driveroracle.jdbc.driver.OracleDriver, urlconnection string(jdbc:oracle:thin:@$TNSNAME 或者jdbc:oracle:thin:@$TNSSTRING, username, password)
<?xml version=”1.0” encoding=”utf-8” ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
        <bean id="my-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
     <property name="driverClassName" value=”com.mysql.jdbc.Driver” />
    <property name="url" value=”jdbc:mysql://localhost:3306/DBNAME” />
     <property name="username" value=”aaaa” />
    <property name="password" value=”***” / >
    <property name="maxActive" value=”80” />
    <property name="maxIdle" value=”50” />
 </bean>
</beans>
如此的配置在Jboss/Tomcat上都是可以成功的,不过据http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html 里说到,Common DBCP是单线程模式的,复杂的(60+ classes),缓慢的方式了,Apache基金组织已经改写了变成Tomcat JDBC Connection Pool组件。Tomcat JDBC CPspring配置如下(需要tomcat-jdbc.jar复制到project.war/WEB-INF/lib里,当然如果配置成global resource则需要放在$TOMCAT_HOME/lib里,该文件在build tomcat时可以得到):
<?xml version=”1.0” encoding=”utf-8” ?>
<!-- !DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" http://www.springframework.org/dtd/spring-beans.dtd   旧版本用法,不再支持-->
<beans  xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
             http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http://www.springframework.org/schema/context                           http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<bean id="my-ds" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close"
p:driverClassName="com.mysql.jdbc.Driver"
        p:url="jdbc:mysql://localhost:3306/DBNAME"
        p:username="aaaa"
        p:password="****"
        p:initialSize="10"
        p:minIdle="10"
        p:maxIdle="50"
        p:maxActive="80"
        p:maxWait="10000"
        p:jmxEnabled="true"
        />

本文转自 dannyy1026 51CTO博客,原文链接:
http://blog.51cto.com/dannyyuan/756004


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
425 0
|
Java 数据库连接 应用服务中间件
java-初识Servlet,Tomcat,JDBC
我们在此文章知道了servlet 是基于Java语言编写的服务器端程序,可以处理Web容器(如Tomcat)发送过来的HTTP请求,也写了实例代码,另外servlet的过滤器,可以用来处理请求前与请求后的一些逻辑。;接着简单了介绍了tomcat,知道Tomcat 作为一个 Web 服务器,可以通过 Servlet 容器来管理和运行 Servlet;最后介绍jdbc,以及jdbc连接数据库的实例代码。
214 0
|
Java 应用服务中间件
Tomcat迁移weblogic的填坑之旅
Tomcat迁移weblogic的填坑之旅
340 0
|
缓存 前端开发 安全
|
应用服务中间件 容器
Angular 自动编译部署 Tomcat Jboss
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
1547 0
|
Java 关系型数据库 MySQL
|
Java 数据库连接 应用服务中间件