1

ありますか?どうやらそうではありません。ここでは、H2 自動混合モードについて説明 します

4

2 に答える 2

1

さらなる参考のために復活。

@fredtが述べたように、私が知る限り、混合モードを実現するための公式の魔法のパラメーターはありません。それでも、他のプロセスがデータベースに接続できるように、 Serverオブジェクトを使用してプログラムでサーバーをいつでも起動できます。

混合モードにかなり近い何かを達成するためのトリックを発見しました。remote_openこれを行うには、プロパティをに設定し、この形式のURL trueを使用して接続する必要があります。

ここでのアイデアは、次のようなことをしています。

  • 上記の種類のURLを使用してサーバーに接続してみてください。
  • 接続できない場合は、サーバーが起動していないことを意味します。プログラムでサーバーを起動してください。
  • 再度接続すると、次の3つのいずれかが発生します。
    • データベースファイルが存在しない場合は、指定されたファイルパスにデータベースファイルが作成され、サーバーはURLエイリアスからファイルの提供を開始します。
    • データベースファイルが存在し、それが提供されていない場合、サーバーは指定されたパスからファイルを開き、提供を開始します。
    • データベースファイルが存在し、それが提供されている場合、サーバーは単に接続を返します。

短期間のプロセスを多数生成する場合に、この種のパターンを使用しても安全かどうかはわかりません(特に、HSQLDBコードを調べて、データベース/作成/複数の同時リクエストのオープンを処理する方法を確認していません)。が設定されている場合remote_open)。それでも、私はこの種のパターンを使用してWebアプリケーション間で開発データベースを共有してきましたが、単一のデータベース破損の問題に遭遇することはありませんでした。

ここでの主な制限は、サーバーとして機能するアプリケーションが閉じられると、開いている接続が機能しなくなり、例外がスローされることです...これは私の開発環境の問題ではありません。サーバーが起動し、接続プールがその接続を検出して更新します。

于 2011-05-18T18:51:41.643 に答える
0

HSQLDBは​​そのようなモードをサポートしていません。

于 2011-02-22T20:22:41.540 に答える