1

私たちのJavaデスクトップアプリケーションは、ユーザーが編集したいくつかのテキストファイルを管理しています。

現在、これらのファイルは、社内のJavaコードを使用してファイルシステムに保存されています。これから離れて、代わりに既存のフレームワーク/ライブラリ(できればオープンソース)を使用したいと思います。実行時に実際の永続ストレージを構成する可能性があると便利です:「ファイルシステム」と「db」。

JCRの実装(JackRabbitなど)とは別に、他に考えられる解決策はありますか?ユースケースでのJCRの使用に関するフィードバック/アドバイスはありますか?

どうも。

4

1 に答える 1

1

JCRリポジトリの利点の1つは、データが永続化される方法からアプリケーションを抽象化する一方で、階層的な編成、クエリ、検索、イベントなどを提供することです。

ModeShapeは、データの保存方法に大きな柔軟性を提供するJCR実装です。そのコネクタを使用すると、ファイルシステム( 2つの 選択肢)、リレーショナルデータベース(多くのDBMSがサポートされています)、データグリッド(Infinispanなど)、SVN、組み合わせ(フェデレーション経由)のコンテンツにアクセスおよび/または保存できます。 、またはメモリ内(小規模で重要度の低い用途の場合)。ModeShapeは、流暢なプログラムAPIを使用して構成できますが、エンジンを起動すると、実際にはコネクタを変更できません。

(完全開示:私はプロジェクトリーダーです。)

したがって、ファイルシステムにファイルを保存するユースケースでは、ModeShapeとそのファイルシステムコネクタを使用して、アプリケーションでJCR APIを使用して、ファイルとフォルダの既存の構造にアクセス(および操​​作)し、他のアプリケーションに引き続きアクセスさせることができます。ファイルシステムを介して同じファイルとフォルダ。このコネクタを使用すると、アプリケーションはオプションでファイルノードとフォルダノードに追加のプロパティを保存できますが、作成できるのはファイルノードとフォルダノードのみに制限されます。

ユースケースのもう1つのオプションは、ModeShapeのディスクコネクタを使用することです。これにより、アプリケーションでファイル、フォルダ、その他のコンテンツを作成し、情報をディスクに保存できます。このコネクタは、あらゆるコンテンツを保存できるため(さらに、非常に高速であるため)、ファイルシステムコネクタよりもはるかに優れています。また、リポジトリのコンテンツをファイルシステム上のファイルとして保持しますが、リポジトリの編成方法とは異なる構造を使用します。IOW、ディスクコネクタは実際には設計されていないため、他のアプリケーションがファイルシステムを使用して、リポジトリに保存されているファイルにアクセスできます。後者が重要ではなく、ファイルシステム上のコンテンツを管理および保存する方法を探しているだけの場合は、ディスクコネクタが最適です。

于 2011-08-10T20:38:38.320 に答える