4

IDE (Intellij IDEA 11.1.2) でテストをデバッグしているときに、hsql DatabaseManager (またはスイング バージョン、それは問題ではありません) を使用してインメモリ HSQL データベース インスタンスに接続したいと考えています。

この回答で提案されているように試してみましたが、そうするたびに、DatabaseManager プロセス/スレッド (どちらかわかりません) が起動し、デバッグ ブレークポイントに到達するとフリーズします。kill/強制終了すると、デバッグ セッションも終了します。

DatabaseManager がフリーズせずにこれを行うにはどうすればよいですか?

4

3 に答える 3

8

Spring/JUnit がインプロセスモードでデータベースを起動しています。

オプションは次のとおりです。

  1. サーバーモードでhsqldbを起動するか
  2. または、アプリケーションから DBmanager を起動します
  3. または、ブレークポイントが現在のスレッドのみを停止するようにすると、データベースマネージャーはフリーズしません
于 2012-07-11T15:26:53.617 に答える
3

この質問には2つの答えがあると思います。

  1. テストとは別のプロセス/スレッドで DatabaseManager を起動したい場合の Eugenio Cuevas のコメントへの回答。
  2. インプロセス モードで実行している場合は、テストの 1 つに DatabaseManager.main() への呼び出しを追加します。必ず実行を一時停止してください (つまり、ユーザー入力を要求するかThread.sleep(Long.MAX_VALUE);、DatabaseManager.main() が呼び出された行の直後に実行して、テストが実行され続けないようにします。DatabaseManager を開始するコードについては、こちらを参照してください)。
于 2012-07-11T16:24:43.697 に答える