• Découverte de CompletableFuture

    La classe CompletableFuture fait partie des nouveautés de Java 8, dans le package java.util.concurrent. Dans un premier temps, je n’y ai pas beaucoup prêté attention, parce que j’avais assez à faire pour prendre en main les lambdas et l’API Stream, et aussi parce que je trouvais sa javadoc assez confuse.

    Récemment, je suis tombé sur NoBlogDefFound où Tomasz Nurkiewicz explique plein de choses sur les classes de concurrence de Java SE. Plusieurs articles traitent de CompletableFuture et ça m’a bien éclairé sur le sujet. Je vais essayer de résumer ce que j’en ai compris et ce qui m’a plu.

  • Comment ouvrir les ports JMX remote à chaud

    Pour permettre un accès distant au MBeans d’une JVM Oracle ou OpenJDK, il faut la démarrer avec la propriété com.sun.management.jmxremote.port, plus quelques autres propriétés détaillées sur JTips.

    java -Dcom.sun.management.jmxremote.port=1099 fr.sewatech.myapp.MyMain

    En rédigeant l’article JTips sur JMX Remote, j’ai découvert qu’on pouvait activer cet accès distant à chaud grâce à l’API Attach. Voyons comment procéder.

  • Intégration continue avec Travis CI et Docker Hub

    Habituellement, je développe en java et j’utilise un Jenkins pour l’intégration continue. Récemment, j’ai développé un petit projet perso, pur front-end, ce qui est totalement nouveau pour moi ; le projet en question est une mini console d’administration pour WildFly.

    Pour être dans l’ère du temps, j’ai préparé une image Docker qui fait tourner un serveur Apache httpd sur lequel est déployée la console. Et pour faciliter l’utilisation et la distribution de cette image, elle est sur le Hub Docker. Voyons la chaîne d’intégration continue in ze cloud et gratuite qui met à jour mon image à chaque fois que mon code est mis à jour sur GitHub.

    Logos CI
  • Putain, 10 ans !

    La société Sewatech était immatriculée le 2 février 2005. Ça fait donc dix ans que je suis indépendant. Et pour tout dire, je n’ai pas vu passer le temps.

    Depuis le début, j’essaie de mélanger les activités de formation, de développement et de conseil. Pourquoi un tel mélange ? Ben tout simplement parce que les trois activités me plaisent et que j’ai envie d’en abandonner aucune. Il faut avouer que ça n’a pas toujours été facile de faire un mélange équilibré, le contraintes en terme de planning étant peu compatibles :

    • La formation est faite de petites séquences (généralement 3 ou 4 jours) planifiés longtemps à l’avance.

    • Le conseil est aussi fait de petites séquences, souvent planifiées à court terme.

    • Le développement est fait de tâches plus longues.

    Si les deux premiers se marient assez bien, c’est le troisième qui a souvent du mal à trouver sa place dans le planning.

    Dans ces 10 ans, je vois trois périodes : le démarrage, où il faut trouver des partenaires formation, l’indépendance où j’ai cherché à développer les formations en direct, et la période Rtone.

  • Charlie Hebdo

    Juste une pensée pour les victimes de Charlie Hebdo. Tristesse.

    [