取得したコネクションを実際に使用する前(SELCTなどを実行する前)に、
「今取得したコネクションが有効かどうか」をわかるようなログを出力したいと
思っていますが、可能でしょうか。
イメージですが、
if (!コネクションが有効かどうか判定するメソッドなど) {
logger.info("connection false");
} else {
logger.info("connection true");
}
みたいな感じを想定していますが可能でしょうか。
コネクション取得にはspringを使用しています。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
SELECT 1;
とかSELECT 1 FROM DUAL;
などのSQL文を実行してみて、正常に値を取得できるか確認するのがもっとも単純かつ確実な手段だと思います。
ところで、このご質問を投稿された目的は何ですか?
もし
「SQL実行前にDBの死活状態を確認したい」
ということでしたら、これには意味がありません。
なぜなら、DBの状態をチェックしてから実際にSQLを実行するまでの間にDBが死ぬこともあり得るからです。
このご質問を投稿された目的
を教えていただけると、別のアドバイスができるかもしれません。
投稿2016/06/02 07:00
総合スコア4791
0
SpringのDIコンテナーからdataSource取ってきて、内部のConnectionを取得すると、ConnectionからisValidで接続状態をチェックできます。
java
1@Inject 2DataSource ds; 3//略 4 5if(ds.getConnection().isValid()){ 6 logger.info("connection true"); 7}else{ 8 logger.info("connection false"); 9} 10
投稿2016/06/02 02:01
総合スコア255
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/02 07:24
2016/06/02 07:28
2016/06/02 07:46
2016/06/02 07:56
2016/06/02 08:18
2016/06/03 00:57
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/02 07:24
2016/06/02 07:36
2016/06/03 00:37
2016/06/03 01:03
2016/06/03 03:40
2016/06/03 04:49
2016/06/03 10:04
2016/06/06 00:39