为了在编写Netty服务器时有效地使用通过BoneCP的连接池 - 哪里是连接池的正确位置以及从哪里获得该池的新连接?
一目了然 - 我认为BoneCP应该是在主服务器中初始化一次的某种全局/单例,然后每个处理程序(即作为“处理程序”传递给管道的类)将该单例引用到抓住一个新的连接...但我没有在网上看到任何这样的例子,并且对Java来说是新手,我有点担心用这种方法直接进入。听到经验丰富的声音会很高兴!
答案 0 :(得分:1)
是的,通道处理程序可以很好地使用BoneCP连接池,但您应该最终在BoneCP处理程序前面插入一个ExecutionHandler。您不希望在netty IO工作线程中发出阻塞db调用。
答案 1 :(得分:0)
还有在bonecp中定义的内容:
public ListenableFuture getAsyncConnection(){
return this.asyncExecutor.submit(new Callable<Connection>() {
public Connection call() throws Exception {
return getConnection();
}});
}