Question

J'ai les données suivantes:

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

et je dois être capable de déterminer le tuple système / sous-système de l'utilisateur. Je dois pouvoir ajouter des utilisateurs à tout moment sans reconstruire ni redéployer le système.

Je sais que la base de données serait la meilleure option, mais je ne peux pas utiliser de table de base de données.

Je l'ai actuellement mappé à l'aide d'une carte de hachage, mais je ne veux pas qu'il soit codé en dur. Je pensais utiliser un fichier de propriétés mais je ne peux pas visualiser comment je le mettrais en œuvre. Quelqu'un d'autre a une suggestion?

Ce n'est pas important, mais j'utilise JAVA, sur weblogic 10.3.

Était-ce utile?

La solution

J'irais pour quelque chose d'aussi simple que:

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

utilisateur (id) est utilisé comme " primaire " saisissez vos propriétés et une concaténation très simple de vos champs pour stocker les valeurs de votre table. Je l’utilise très souvent: croyez-moi, c’est beaucoup plus puissant que cela n’apparaît :)

Autres conseils

Vous pouvez le faire en utilisant un HashMap (comme vous le faites maintenant) et le stocker en utilisant XStream .

XStream vous permet de sérialiser / désérialiser des objets Java vers / à partir de XML lisible / éditable. Vous pouvez ensuite écrire ceci dans (par exemple) un système de fichiers et le résultat est éditable à la main.

L’inconvénient est qu’il s’agit d’une sérialisation XML d’un objet Java; elle n’est donc pas aussi évidente qu’un fichier de propriétés à modifier. Cependant, il reste très lisible et facile à comprendre par quiconque à distance technique. Le choix de cette solution dépend de l'audience de ce fichier.

Vous pourriez très bien utiliser YAML pour ..
SnakeYAML semble être une implémentation Java viable.

Pour ce projet, je suis parti avec la solution proposée par Olivier. Certains projets contrainst (héritage du projet) m'empêchent de choisir une solution probablement meilleure d'utilisation de XStream.

Thx pour les gars de feed-back

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top