JDK7でJDBC接続の切断のためのAPIが追加されていました

昨日アップした以下のエントリのフォローアップです。

JDBCのStatement#cancelは即座の中断を期待してはいけないみたい
http://d.hatena.ne.jp/aoe-tk/20121112/1352729379

JDK7 (JDBC4.1) では、 java.sql.Connection に、JDBC接続を強制的に切断するための abort というメソッドが追加されていました。

MySQLのバグトラックのこのチケットでもこのメソッドについて説明されています。

This is precisely the reason the JDBC-4.0 spec added the abort() method. There is no foolproof way to implement the semantics of Connection.close() *and* never have deadlocks.

The abort() method is designed to be used in these cases (it takes no locks, but doesn't attempt to clean up currently open statements, etc).

しかし今のお仕事ではまだJDK7に正式対応していない某黄色い象さんが関わっているので使えないんですよねえ。*1

*1:で、そのことをぼやいていたら、某C社の方々にこんなことこんなことを言われてしまったのですが。(^^;)