scala-mysql数据库资源池
来源:互联网 发布:人工智能 共产 知乎 编辑:程序博客网 时间:2024/06/08 13:53
package connect
import java.sql.{Connection, DriverManager}
import java.util
/**
* mysql数据库连接池
*/
object MySqlPool {
private val max = 8 //连接池连接总数
private val connectionNum = 10 //每次产生连接数
private val pool = new util.LinkedList[Connection]() //连接池
private var conNum = 0 //当前连接池已产生的连接数
//获取连接
def getJdbcConn(): Connection = {
//同步代码块
AnyRef.synchronized({
if (pool.isEmpty) {
//加载驱动
preGetConn()
for (i <- 1 to connectionNum) {
val conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "000000")
pool.push(conn)
conNum += 1
}
}
pool.poll()
})
}
//释放连接
def releaseConn(conn: Connection): Unit = {
pool.push(conn)
}
//加载驱动
private def preGetConn(): Unit = {
//控制加载
if (conNum < max && !pool.isEmpty) {
println("Jdbc Pool has no connection now, please wait a moments!")
Thread.sleep(2000)
preGetConn()
} else {
Class.forName("com.mysql.jdbc.Driver");
}
}
}
package connect
package test.testConnectionPoll
/**
* 测试获取数据库连接池
*/
object TestConnectPool {
def main(args: Array[String]): Unit = {
for (x <- 1 to 20) {
val con = MySqlPool.getJdbcConn()
println("当前连接:" + x + " " + con)
if (x == 6) {
println("释放的是:" + x + " " + con)
MySqlPool.releaseConn(con)
}
}
}
}
阅读全文
0 0
- scala-mysql数据库资源池
- scala 连接mysql数据库
- Scala操作MySQL数据库
- 【scala 数据库操作】scala操作mysql数据库
- scala实现数据库的连接池(mysql数据库,scala-2.10.4)
- scala 资源
- scala使用JDBC连接mysql数据库
- scala使用JDBC连接mysql数据库
- Scala 之 mysql 数据库连接池
- scala语言使用play2框架连接mysql数据库
- Spark/scala 写数据到Mysql数据库方法一
- Spark/scala 写数据到Mysql数据库方法二
- scala如何连接和操作mysql/oracle/sqlserver数据库
- Scala实战—连接oracle及mysql数据库
- Scala安装资源
- Scala资源汇总
- Scala学习资源汇总
- Scala学习资源
- httpClient工具类
- Android小代码
- java将国际时间转为个时区时间
- asp.net 动态添加checkbox与事件
- select真的有限制吗
- scala-mysql数据库资源池
- if switch语句171017
- jQuery总结:二、DOM操作(属性/内容/样式)
- [iOS] 自动布局Masonry工具包的简化操作
- 网络配置及连接
- ScrollView嵌套ListView问题
- Python--day2 Pycharm的安装、配置和使用
- 171017 逆向-Reversing.kr(CSharp)
- MongoDB学习笔记