golang的连接池例子
测试代码
package main import (
"github.com/jolestar/go-commons-pool"
"fmt"
) type MyPoolObject struct {
Name string
} type MyObjectFactory struct {
} func (f *MyPoolObject) Print() {
fmt.Println(f)
} func (f *MyObjectFactory) MakeObject() (*pool.PooledObject, error) {
return pool.NewPooledObject(&MyPoolObject{}), nil
} func (f *MyObjectFactory) DestroyObject(object *pool.PooledObject) error {
//do destroy
return nil
} func (f *MyObjectFactory) ValidateObject(object *pool.PooledObject) bool {
//do validate
return true
} func (f *MyObjectFactory) ActivateObject(object *pool.PooledObject) error {
//do activate
return nil
} func (f *MyObjectFactory) PassivateObject(object *pool.PooledObject) error {
//do passivate
return nil
} func main() {
pool := pool.NewObjectPoolWithDefaultConfig(pool.NewPooledObjectFactorySimple(
func() (interface{}, error) {
return &MyPoolObject{}, nil
}))
obj, _ := pool.BorrowObject() obj.(*MyPoolObject).Name = ""
obj.(*MyPoolObject).Print() pool.ReturnObject(obj)
}
golang的连接池例子的更多相关文章
- Golang 通用连接池库 Golang-Pool
Golang 实现的连接池 功能: * 连接池中连接类型为interface{},使得更加通用 * 链接的最大空闲时间,超时的链接将关闭丢弃,可避免空闲时链接自动失效问题 * 使用channel处理池 ...
- Golang SQL连接池梳理
目录 一.如何理解数据库连接 二.连接池的工作原理 三.database/sql包结构 四.三个重要的结构体 4.1.DB 4.2.driverConn 4.3.Conn 五.流程梳理 5.1.先获取 ...
- golang redis连接池使用方法
package main import ( "fmt" "github.com/garyburd/redigo/redis" ) var pool *redis ...
- golang mgo的mongo连接池设置:必须手动加上maxPoolSize
本司礼物系统使用了golang的 mongo库 mgo,中间踩了一些坑,总结下避免大家再踩坑 golang的mgo库说明里是说明了开启连接复用的,但观察实验发现,这并没有根本实现连接的控制,连接复用仅 ...
- Tomcat+Oracle配置连接池的例子
我这有一个Tomcat+Oracle连接池的例子,放上来和大家分享一下. Tomcat +Oracle 连接池配置 Author: Kenneth.Leaf@GalaxySoft Date: / ...
- [Go] golang实现mysql连接池
golang中连接mysql数据库,需要使用一个第三方类库github.com/go-sql-driver/mysql,在这个类库中就实现了mysql的连接池,并且只需要设置两个参数就可以实现 一般连 ...
- 连接池的实现 redis例子
# -*- encoding:utf-8 -*- # import pymysql # # conn = pymysql.connect(host="127.0.0.1", por ...
- golang 创建一个简单的连接池,减少频繁的创建与关闭
一.连接池的描述图片如下: 二.连接池代码如下: package main; import ( "time" "sync" "errors" ...
- Golang 连接 MongoDB使用连接池
可以免费试用 MongoDB ,500MB 平时做测试没有问题啦,连接数据库可能因为网络有点慢,但是我们是测试啊,不在乎这点吧~ 这是怎么申请试用版的博客,感谢这位大佬.注册好用起来很方便~ 传送门 ...
随机推荐
- 通过Maven找java source源码方法
在Maven的仓库中直接去下载 http://repo1.maven.org/maven2/ 如下:下载hibernate源码文件截图
- hdu 5093 Battle ships
二分图匹配 #include<cstdio> #include<cstring> #include<iostream> #include<cmath> ...
- ZOJ 1067 Color Me Less
原题链接 题目大意:一道类似于简单图像压缩的题目.给定一个调色板,然后把24位真彩色按照就近原则聚类. 解法:每个像素的色彩都是RGB三个值,相当于三维空间的一个点.所以当一个新的像素进来时,分别和调 ...
- leetcode 113 Path Sum II ----- java
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...
- poj1270 拓扑序(DFS)
题意:给出将会出现的多个字母,并紧接着给出一部分字母的大小关系,要求按照字典序从小到大输出所有符合上述关系的排列. 拓扑序,由于需要输出所有排列,所以需要使用 dfs ,只要点从小到大遍历就可以实现字 ...
- Fragment用app包还是v4包解析
转自:http://blog.csdn.net/zc0908/article/details/50721553 1)问题简述 相信很多的朋友在调用Fragment都会遇到下面的情况: 这个时候问题来了 ...
- 论文阅读之 A Convex Optimization Framework for Active Learning
A Convex Optimization Framework for Active Learning Active learning is the problem of progressively ...
- dede后台栏目文章问题
栏目下的子栏目文档,并不记在主栏目文档数中,让我一直以为程序错误.
- EJB 的理解
引用源:http://blog.csdn.NET/cymm_liu/article/details/7760989 1.EJB 概念的剖析 我们先看一下,EJB 的官方解释: 商务软件的核心部分是它的 ...
- Softmax回归(使用theano)
# coding:utf8 import numpy as np import cPickle import theano import os import theano.tensor as T cl ...