# shutdown=true属性

#### 機能

databaseNameが指定されている場合、そのデータベースを終了します。(終了してから、そのデータベースに再接続すると、データベースが再起動されます。) 認証とSQL認証の両方が有効なデータベースでは、データベース所有者だけがデータベースの終了を行えます。より詳細な情報はDerby ディベロッパーズ ガイドの「ユーザ認証を有効にする」と「SQL標準認証モードを設定する」を参照してください。

databaseNameを指定しなかった場合に限り、Derbyのシステム全体が終了します。

単体のデータベースを終了させた場合、Derbyは該当データベースで終了時のチェックポイント処理を行ないます。

システム全体を終了させた場合、Derbyは全データベースで終了時のチェックポイント処理を行い、JDBCドライバの登録抹消を行い、JVMが終了する前にJVM内でシステムを終了します。終了が成功すると、必ずSQLExceptionが挙がります。これはDerbyが終了して、接続が既にないことを表すものです。 Derbyの終了後、ドライバを読み込みなおせば、もう一度起動することができます。Derbyの再起動に関する詳細な情報は、Derby ディベロッパーズ ガイドの第1章にある、「システムの終了」を参照してください。

チェックポイントの処理とは、次回の接続で復元処理を行う必要が無いように、全ての記録とトランザクションの情報をディスクに書き込むことです。

アプリケーションで全システムの終了が行われるのは、組み込みモードのときだけです。
注: 属性にshutdown=trueを指定してDriverManagerへ要求を行うと、常に例外が挙がります。

    -- 全システムを終了する。
    jdbc:derby:;shutdown=true
    -- salesDBを終了する。(認証が無効である場合)
    jdbc:derby:salesDB;shutdown=true

親トピック: データベース接続URLに属性を指定する。