2

今後のプロジェクトでは、Apache Commons Configuration を使用する予定です。

特定のアプリケーションのすべての構成をデータベースとの間で読み書きするためにライブラリを使用したいと考えています。

すべての構成変更を追跡する (または構成をバージョン管理する) 必要があります。この変更追跡もデータベースに格納する必要があります。

構成の変更は頻繁には発生しません。

この変更追跡機能を実装するための最良のアプローチは何でしょうか? Apache Commons 自体に何らかのサポートはありますか? 別の適切なフレームワーク/ライブラリはありますか?

4

1 に答える 1

2

残念ながら、Apache Commons Configuration と変更追跡構成データベースの要件との間に重複はないと思います。

構成をデータベースに保存する必要がある場合は、別のフレームワークが必要になるか、独自のソリューションを展開する必要があると思います。再。データベース、2 つの考え:

  1. 有効開始日/有効終了日を指定して構成を保存できます。現在の構成は有効期限が null の構成であり、構成を更新するときに有効期限を設定します。
  2. 一部のデータベースは、バージョン管理されたデータの概念をサポートしています。たとえば、Oracle にはデータベース エンティティを単純に書き換えるフラッシュバック機能があり、Oracleはその時点でのそのテーブルのバージョンを記録します(詳細はおそらくもっと複雑です)。監査目的で構成変更の履歴が必要なだけの場合、これは便利なソリューションになる可能性があります。

もう 1 つの解決策は、SCM を使用して構成を管理し、そのような構成をリリースでパッケージ化/デプロイすることです。たとえば、ソース コード リポジトリに dev/test/prod 構成を作成し、そこで変更を管理します。これらの構成をデプロイ可能ファイルにラップし、適切な環境にリリースします。SCM の変更追跡機能はありますが、デプロイされた環境で発生した変更を簡単に追跡することはできません。変更管理プロセスによって、これが許可される場合と許可されない場合があります。

上記の修正版を使用すると、デプロイされた環境で SCM ソリューションを使用できるようになります。たとえば、構成を本番環境にチェックアウトすることができます。これがあまり使われているのを見たことがありません。これは、開発環境と本番環境の間のブリッジ/依存関係を意味し、ブリッジが遠すぎる可能性があります。

于 2012-12-27T16:19:03.800 に答える