moving database.retention.payment.days application property to an env#17
moving database.retention.payment.days application property to an env#17Marshall71 wants to merge 2 commits into
Conversation
0c4bfa5 to
b9d06e4
Compare
b9d06e4 to
3763620
Compare
|
Je ne sais pas comment se passe ton job qui exécute les tests maven. |
| public void purgeDatabase() { | ||
| LOGGER.info("Begin of the database purge"); | ||
|
|
||
| long nbOfDaysForPayments = Long.parseLong(dotenv.get("DATABASE_RETENTION_PAYMENT_DAY")); |
There was a problem hiding this comment.
@jymaire parseLong génère une exception NumberFormatException si la valeur peut pas être convertie.
Comment veux tu qu'elle soit gérée ? Un try catch avec un log d'erreur en cas d'execption ?
Comment se passe le throws de l'exception si elle pope, ça kill l'application ?
There was a problem hiding this comment.
c'est de la purge donc ça doit pas couper le process métier. Try catch et mail d'erreur (dans les logs c'est nécessaire mais pas suffisant)
There was a problem hiding this comment.
ce qui pourrait être bien aussi, c'est de mettre une valeur par défaut (à 7 jours) si jamais la propriété n'est pas remplie (et un message de log en INFO pour prévenir, idéalement une seule fois au démarrage et pas chaque nuit)
There was a problem hiding this comment.
là je sèche parce que à part faire un compteur pour savoir si c'est la première fois je vois pas d'autre solution.
Je peux pas déclarer la variable nbOfDaysForPayments en static (variable de classe), car au moment ou j'initialiserai ma varialbe dans mon bloc static{} ma dotenv variable sera null (le constructeur n'aura pas encore été appelé) :'(
There was a problem hiding this comment.
Tu as des events spring que tu peux attraper pour dire "execute moi ce boot de code une fois l'init terminée" (exemple ici : https://stackoverflow.com/questions/27405713/running-code-after-spring-boot-starts ) à voir si ça fonctionne comme tu veux :)
Edit : doc officielle avec les events dispo https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#features.spring-application.application-events-and-listeners
|
pour le .env, c'est dans la partie CI que ça se passe https://github.com/jymaire/hellos/blob/main/.github/workflows/maven.yml#L24 |
property test