Java 使用动态代理和观察者模式+threadlocal实现数据库连接池
当我们使用数据库连接池时,如果多线程连接数据库时,当超过5个线程连接数据库时,那么在第6个线程包括之后就连接不到数据库了,该怎么处理。
由于因为连接池的数量发生变化时,要去重新创建新的连接,所以这里使用了观察者模式,创建观察者和被观察者。当连接池的数量为空时,则就通知观察者去重新创建新的连接。
当然为了在多线程环境下,防止自己的连接被其它线程篡改,导致线程不安全,这里使用了ThreadLocal。
原创
2018-11-09 13:45:26 ·
864 阅读 ·
1 评论