<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Tomcat on Java &amp; Moi</title><link>https://javaetmoi.com/tags/tomcat/</link><description>Recent content in Tomcat on Java &amp; Moi</description><generator>Hugo</generator><language>fr</language><lastBuildDate>Sun, 25 Aug 2024 15:54:14 +0000</lastBuildDate><atom:link href="https://javaetmoi.com/tags/tomcat/feed.xml" rel="self" type="application/rss+xml"/><item><title>Compatibilité Jakarta EE 9 de vieux frameworks</title><link>https://javaetmoi.com/2024/08/compatibilite-jakarta-ee-9-de-vieux-frameworks/</link><pubDate>Sun, 25 Aug 2024 15:54:14 +0000</pubDate><guid isPermaLink="false">https://javaetmoi.com/?p=2374</guid><description>&lt;h2 id="de-java-ee-à-jakarta-ee"&gt;De Java EE à Jakarta EE&lt;/h2&gt;
&lt;p&gt;En &lt;strong&gt;2017&lt;/strong&gt;, &lt;strong&gt;Oracle&lt;/strong&gt; a fait &lt;strong&gt;don de la spécification Java EE&lt;/strong&gt; (précédemment connu sous le nom de J2EE) à la fondation &lt;strong&gt;Eclipse&lt;/strong&gt;.
Java EE regroupe différentes API utilisées aussi bien par des serveurs d’applications, des containers de servlets et des frameworks comme Quarkus ou Spring :
&lt;strong&gt;Servlet&lt;/strong&gt;, JSP, JSF, JPA, JTA, JAX-WS, JAX-RS, JAXB, WebSocket, Bean Validation, CDI, EL … &lt;br&gt;&lt;/p&gt;
&lt;p&gt;Sous l’égide d’Eclipse, Java EE a été rebaptisé Jakarta EE. La fondation a récupéré la base de code Java et les TCK.
En &lt;strong&gt;2019&lt;/strong&gt; est sortie une version &lt;strong&gt;Jakarta EE 8&lt;/strong&gt; pleinement compatible avec Java EE 8.
Comme seul changement notable pour les dév &lt;strong&gt;, le groupId des artefacts Maven a été renommé de javax à jakarta&lt;/strong&gt;.
Le patch du numéro de version a été incrémenté. A titre d’exemple, l’artefact &lt;code&gt;jakarta.faces:jakarta.faces-api:2.3.1&lt;/code&gt; est identique à &lt;code&gt;javax.faces:javax.faces-api:2.3&lt;/code&gt;.
Pas si anodin, ce changement de GAV Maven fait que notre outil de build peut être amené, via le mécanisme de dépendances transitives,
à placer dans le classpath deux mêmes artefacts ayant des groupId différents. Les exclusions maven permettent de corriger le tir.&lt;/p&gt;
&lt;p&gt;En décembre 2020, la communauté Java est secouée par la sortie de &lt;strong&gt;Java EE 9&lt;/strong&gt;. 20 ans de rétrocompatibilité s’écroulent.
Oracle a souhaité conserver la &lt;strong&gt;marque Java&lt;/strong&gt;. Les packages &lt;code&gt;javax.*&lt;/code&gt; de la spécification Java EE ont été renommés en &lt;code&gt;jakarta.*&lt;/code&gt;.
Certains sous-packages ont également été renommés.&lt;/p&gt;
&lt;p&gt;Pour exemple, la classe &lt;code&gt;Marshaller&lt;/code&gt; de l’API JAXB change de package : de &lt;code&gt;javax.xml.bind.Marshaller&lt;/code&gt; vers &lt;code&gt;jakarta.xml.bind.Marshaller&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>18 prises de notes à Devoxx France 2015</title><link>https://javaetmoi.com/2015/04/18-prises-de-notes-a-devoxx-france-2015/</link><pubDate>Tue, 21 Apr 2015 06:03:20 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1356</guid><description>&lt;p&gt;En attendant que les vidéos des &lt;a href="http://cfp.devoxx.fr/2015/index.html"&gt;différentes conférences de l’édition 2015&lt;/a&gt; de Devoxx France soient mises en ligne sur &lt;a href="http://www.parleys.com/"&gt;Parleys&lt;/a&gt; et en complément de certains supports déjà mis en ligne par certains Speakers, je mets librement à votre disposition les différentes notes que j’ai pu prendre sur mon laptop.&lt;/p&gt;
&lt;p&gt;Les sujets sont variés : du &lt;strong&gt;Machine Learning&lt;/strong&gt; avec Watson, Spark et MMLib, du &lt;strong&gt;Reactive Programming&lt;/strong&gt; avec RxJava et Vert.x, du &lt;strong&gt;Java 9&lt;/strong&gt;, du &lt;strong&gt;Spring 4.1&lt;/strong&gt; ou bien encore du Docker.&lt;/p&gt;
&lt;p&gt;Certaines notes pourront être lues de manière autonome ; je pense par exemple au quickie &lt;a href="wp-content/uploads/2015/04/Devoxx_France_2015-Strat%C3%A9gie_de_mise_en_place_de_revues_de_code.pdf"&gt;Stratégie de mise en place de revues de code&lt;/a&gt; et à la conférence &lt;a href="ploads/2015/04/Devoxx_France_2015-Livrer_chaque_jour_ce_qui_est_pret.pdf"&gt;Livrer chaque jour ce qui est prêt !.&lt;/a&gt; Pour être exploitables en l’état, d’autres notes demanderont à ce que vous ayez assisté à la conférence ou que vous ayez pu récupérer les supports de présentation.&lt;/p&gt;
&lt;p&gt;&lt;a href="wp-content/uploads/2015/04/Keynote-des-organisateurs.jpg"&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="Keynote des organisateurs"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2015/04/Keynote-des-organisateurs.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="Keynote des organisateurs"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2015/04/Keynote-des-organisateurs.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Mod_headers à la rescousse du jsessionid</title><link>https://javaetmoi.com/2013/05/mod_headers-rescousse-jsessionid-jboss/</link><pubDate>Thu, 23 May 2013 18:45:16 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=692</guid><description>Au cours de la migration d’une cinquantaine d’applications web de Websphere vers &lt;strong&gt;JBoss 5.1 EAP&lt;/strong&gt;, nous avons été confrontés à un problème de sécurité mis en évidence par l’infrastructure de pré-production : le firewall bloquait systématiquement toute requête comportant un &lt;strong&gt;jsessionid&lt;/strong&gt; dans l’ &lt;strong&gt;URL&lt;/strong&gt;.
Modifier les règles du firewall pour laisser passer ce type de requêtes aurait introduit une faille de sécurité exploitable par appropriation de session web. Cette faille nous a d’ailleurs été révélée en parallèle par l’outil d’audit de sécurité &lt;a href="http://www-03.ibm.com/software/products/us/en/appscan/"&gt;IBM AppScan&lt;/a&gt;.
Ce billet rappelle l’origine du problème et précise quelle solution a été employée pour le résoudre le plus rapidement possible.</description></item></channel></rss>