2

私の Dao クラスでは、db リソースを閉じるために、ResultSet、Connection、および Statement オブジェクトを受け取って閉じる小さな関数を作成しました。

私が持っている各DBアクセスメソッドのfinallyブロックからこれを呼び出します。しかし、ソナーはこれらを次のような違反として示しています。

Ensure that resources like this Statement object are closed after use

これらが処理されたことをソナーに知らせる方法はありますか?

使用されるプロファイルは「Sonar Way」です

4

1 に答える 1

5

このルールは PMD によって Sonar に導入されたもので、非常に基本的なものです。finally ブロックに「myResource.close()」呼び出しがあるかどうかをチェックするだけです。完全停止。「小さな関数」を広範囲に使用している場合は、誤検知が多すぎるため、このルールを無効にすることを検討する必要があります。

よりインテリジェントな Findbugs ルールを有効にすることもできます。Sonar デモ インスタンス - Nemoでこれらのルールを参照してください。

于 2013-02-21T10:59:55.427 に答える