mysql:10670
From: "TAKAHASHI, Tomohiro" <"TAKAHASHI, Tomohiro" <t_takahashi@xxxxxxxxxx>>
Date: Wed, 15 Dec 2004 20:28:23 +0900
Subject: [mysql 10670] Re: 長い検索の途中でキャンセル(中断)
高橋(智)です。 java.sql.Statementのcloseメソッドは、あくまでも Statementリソースの closeであって、クエリーのcancelでは無いと思います。 実際、私の作成している gwe JDBC Driver や、officialのConnector/J でも、 closeメソッドは何もしません。 やはり、汎用性などを考慮して、別スレッドから java.sql.Connection の closeメソッドをcallするのが良いと思います。(※ただし、この場合でも、 Connectionプールなどが間に介在している場合には、好ましくないコードになる と思います) 結局、JDBC Driver 依存ですが、Driverによっては事前にtimeout値を設定 出来るようなので、仕様上可能ならtimeoutを利用するのが一番安全かもしれません。 Regards, I love Borland TAKAHASHI, KEN, Tomohiro KazukiSugiyama wrote: > > >JDBC を使って MySQL で長い検索をしている途中で > >キャンセル(中断)はできるものなのでしょうか? > > 複数スレッドを作成し、一方でクエリーを投げ、何らかのイベントで > 別スレッドからcancelを投げればよろしいかと思います。 > cancelはexecuteQueryと同じく java.sql.Statementです。 > > http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/sql/Statement.html > > を参照してみてください。 > > これでイケると思います。 -- 高橋智宏 Java読書会( http://www.javareading.com/bof/ )
10666 2004-12-15 18:22 ["Kageyama Takahiro" ] 長い検索の途中でキャンセル(中断) 10667 2004-12-15 19:05 ┗[KazukiSugiyama <k-su] 10668 2004-12-15 20:17 ┣["Kageyama Takahiro" ] 10671 2004-12-15 21:25 ┃┗[KazukiSugiyama <k-su] 10672 2004-12-15 22:35 ┃ ┗["Kageyama Takahiro" ] 10673 2004-12-15 23:40 ┃ ┗["TAKAHASHI, Tomohiro] 10680 2004-12-16 11:03 ┃ ┗["Kageyama Takahiro" ] -> 10670 2004-12-15 20:28 ┗["TAKAHASHI, Tomohiro]