Devoxx 2019
Vidoés intéressantes
Section titled “Vidoés intéressantes”Sujets
Section titled “Sujets”Outils intéressants
Section titled “Outils intéressants”ClassGrap
pour l’instrospection de classesdeptective
maven plugin pour controler les dépendancesresilience4j
outil pour faire entre du circuit breakerdev-tools
de pivotal. C’est un dépendance avec plein d’outils pour le dev springpicocli
pour faire des appli java pour la ligne de comande
Alors c’est possible de transformer un jar en commande linux en conca*
Jar to terminal command
Section titled “Jar to terminal command”ténant le jar dans un fichier sh
Faire fonctionner le CSRF
Section titled “Faire fonctionner le CSRF”Dans Spring il faut ajouter un csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
Ajouter un endpoint /api/csrf
qui renvoit le token
@GetMappint("/api/csrf") public CsrfToken csrf(CsrfToken token) { return token; }
Attention que le cors pour cette resource soit bien limité a notre front
Spring
Section titled “Spring”Ajouter la dépendance io.micrometer:micrometer-registry-prometheus
dans l’appli finale comme implémentation de l’api micrometer.
activer les endpoint de management (actuator) :
management.endpoint.web.exposure.include=*
ajouter un tag specifique à l’application:
management.metrics.tags.application=review
management.metrics.tags.application=cronos
Spring gère les duration par defaut comme propriétés !
La dépendance de dev spring-boot-configuration-processor
permet de rajouter des meta donnée lors de la compilation. Ces meta données peuvent être utiliser par les ide pour valider les propriétés customs par exemple.
Docker et JVM
Section titled “Docker et JVM”Explorer un docker avec Dive https://github.com/wagoodman/dive
Pour améliorer le startup on peu utiliser le CDS (Class Data Sharing)
java -Xshare:dump
crée une archive de l’état de la jvm après démarrage et l’utilise pour lancer les applications plus rapidement avec l’option -Xshare:on
.
En mettant cette archive sur un layer ou un volume partagé, on gagne du temps de up à moindre cout.
Pour les JVM à courte vie, utiliser un GC adapté (Serial GC par exemple)