2016-08-17 2 views
0

J'ai écrit l'application akka dans scala, propriétés liées à l'application aussi je l'ai gardé dans application.conf avec akka config. Je trouve que c'est un endroit logique pour garder des propriétés.Est-ce une bonne pratique? Propriétés personnalisées dans la configuration akka (application.conf)

Si ce n'est pas une bonne pratique, je voudrais savoir le raisonnement derrière elle,
par exemple un de mes biens est akka.remote.receivers = [akka.ssl.tcp://[email protected]:2222/user/receiver1]

Comment suis-je chargeais les propriétés?

  • propriétés par défaut je l'ai mis en reference.conf qui existe dans main/resources
  • application.conf chargé de fallback default.conf

Répondre

1

Je pense qu'il est bon d'avoir une config default.conf comme fallback avec votre application.conf qui est spécifique aux environnements/machines de déploiement.

Votre reference.conf devrait avoir toutes les valeurs par défaut de la bibliothèque (akka ou toute autre bibliothèque). Ensuite, votre default.conf devrait avoir les valeurs par défaut de l'application (y compris les valeurs par défaut nécessaires pour les cas de figure de l'entreprise le cas échéant). Votre application.conf ne doit remplacer que les propriétés requises de default.conf et reference.conf.

Aussi je crois que votre default.conf ne devrait pas remplacer les propriétés reference.conf. Toute dérogation doit être effectuée uniquement en application.conf. Cela permet de s'assurer que vous avez seulement 1 place de remplacements et vous n'avez pas à passer par plusieurs endroits pour voir quelle conf remplace quoi.

Enfin et surtout:

Tenir à jour la cohérence entre les applications/services/équipes

Si vous avez plusieurs applications alors assurez-vous que vous suivez le processus décidé pour tous . Peu importe si vous choisissez une mauvaise façon d'utiliser les configs, mais si vous êtes cohérent dans l'ensemble de vos applications/services, alors cela va être pénible.

+0

Vous concluez donc que les propriétés personnalisées dans 'application.conf' ne sont pas une mauvaise idée, n'est-ce pas? –

+1

@SeetaRamayyaVadali: Oui exactement, je pense que c'est l'un des rôles de application.conf. Je crois que nous sommes juste cohérents dans notre approche décidée. – faizan