接続プールを処理する場合、通常、次のコードがあります。
connection c = pool.borrow();
try {
business-logic-using-connection(c);
}
catch(connectionException e) {
connectionBad = true;
}
finally{
if (connectionBad) {
pool.evict(c);
} else {
pool.return(c);
}
}
問題は、このボイラープレートコードを単純にして、次のようなことができるようにする方法です。
getConnectionAndDoWork(pool, business-logic-code)
ビジネスロジックをプラグインでき、同じ接続管理コードをあちこちで繰り返す必要はありません。doWorkWithConnection
1つの方法は、接続を取得して何らかの作業を行うようなビジネスロジックコードのインターフェイスを作成することです。ただし、これにより、ビジネスロジックコードが返すものが制限されます。
Javaでそれを行うためのより良い方法はありますか?