質問

次のデータがあります:

User   System    SubSystem
user1  System1   SubSystem1
user2  System1   SubSystem2
user3  N/A       N/A

と私はユーザーからシステム/サブシステムのタプルを決定できる必要があります。システムを再構築および再デプロイすることなく、いつでもユーザーを追加できる必要があります。

ここではデータベースが最適なオプションであることはわかっていますが、データベーステーブルを使用できません。

現在、ハッシュマップを使用してマッピングしていますが、ハードコードされたくないです。プロパティファイルの使用を考えていましたが、どのように実装するかを視覚化できません。他に提案はありますか?

重要ではありませんが、weblogic 10.3でJAVAを使用しています。

役に立ちましたか?

解決

次のような単純なものを探します:

user1 = userValue
user1.system = systemValue
user1.system.subsystem= subsystemValue
user2 = userValue
user2.system = systemValue
user2.system.subsystem= subsystemValue

user(id)は、「プライマリ」として使用されます。プロパティのキー、およびテーブル値を保存するためのフィールドの非常に単純な連結。 私はこれを非常に頻繁に使用します。私を信じてください。見た目よりもずっと強力です:)

他のヒント

HashMapを使用してこれを実行し(現在と同様)、 XStream を使用して保存できます。

XStreamを使用すると、読み取り/編集可能なXMLとの間でJavaオブジェクトをシリアル化/逆シリアル化できます。これを(たとえば)ファイルシステムに書き込むと、結果を手で編集できます。

欠点は、JavaオブジェクトのXMLでのシリアル化であるため、編集するプロパティファイルほど明白ではないことです。ただし、非常に読みやすく、リモートの技術者であれば誰でも簡単に理解できます。これが適切なソリューションであるかどうかは、このファイルの対象者によって異なります。

YAML を非常によく使用できるもののように聞こえます。
SnakeYAML は実行可能なJava実装のようです。

このプロジェクトでは、Olivierが提案したソリューションに取り組みました。いくつかのプロジェクトの制約(プロジェクトのレガシー)により、XStreamを使用したおそらくより良いソリューションを使用することができません。

フィードバック担当者のThx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top