[前][次][番号順一覧][スレッド一覧]

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]