joram issueshttps://gitlab.ow2.org/joram/joram/-/issues2024-03-18T08:54:27Zhttps://gitlab.ow2.org/joram/joram/-/issues/314393SNI issue with Rest connector2024-03-18T08:54:27ZAndre FreyssinetSNI issue with Rest connectorSince the evolution of the version of jetty (v11) used in Joram, SNI errors appear during SSL/TLS tests of the JMS connector.Since the evolution of the version of jetty (v11) used in Joram, SNI errors appear during SSL/TLS tests of the JMS connector.https://gitlab.ow2.org/joram/joram/-/issues/314384Updates Jersey and Jetty libraries2024-01-16T08:17:56ZAndre FreyssinetUpdates Jersey and Jetty librariesCurrently joram embeds Jersey 2.39 and Jettu 9.4.50.
Up to date release of Jersey are 3.0.9 (JEE9) and 3.1.1 (JEE10).
Up to date release of Jetty are 10.0.14 (javax) and 11.0.14 (jakarta), they needs Java11 and websocket API has evolved.Currently joram embeds Jersey 2.39 and Jettu 9.4.50.
Up to date release of Jersey are 3.0.9 (JEE9) and 3.1.1 (JEE10).
Up to date release of Jetty are 10.0.14 (javax) and 11.0.14 (jakarta), they needs Java11 and websocket API has evolved.https://gitlab.ow2.org/joram/joram/-/issues/314386Uses Jakarta/JMS API in JMS bridge.2023-10-06T13:56:00ZAndre FreyssinetUses Jakarta/JMS API in JMS bridge.Currently the JMS bridge uses javax.jms API.
Be careful, it implies that the remote JMS implements Jakarta/JMS API.Currently the JMS bridge uses javax.jms API.
Be careful, it implies that the remote JMS implements Jakarta/JMS API.https://gitlab.ow2.org/joram/joram/-/issues/314387Removes dependency to JMS API in Rest bridge.2023-10-06T13:55:30ZAndre FreyssinetRemoves dependency to JMS API in Rest bridge.Currently the Rest bridge needs javax.jms API.Currently the Rest bridge needs javax.jms API.https://gitlab.ow2.org/joram/joram/-/issues/314388Uses Jakarta/JMS API in Joram/JMS tools.2023-10-06T13:55:01ZAndre FreyssinetUses Jakarta/JMS API in Joram/JMS tools.Currently the Joram/JMS tools uses javax.jms API.
Be careful, this implies that these tools are only used with brokers that implement the Jakarta/JMS API (normally only Joram).Currently the Joram/JMS tools uses javax.jms API.
Be careful, this implies that these tools are only used with brokers that implement the Jakarta/JMS API (normally only Joram).https://gitlab.ow2.org/joram/joram/-/issues/314389Uppgrades OSGi specifications.2023-10-06T13:53:08ZAndre FreyssinetUppgrades OSGi specifications.Upgrades to 7.0 versions of osgi and compendium specifications.
Uses new artifact identifier.Upgrades to 7.0 versions of osgi and compendium specifications.
Uses new artifact identifier.https://gitlab.ow2.org/joram/joram/-/issues/314081Définition de politiques de suppresion de messages en cas de surcharge2022-11-21T09:52:44ZSerge LacourteDéfinition de politiques de suppresion de messages en cas de surcharge<p>Lorsqu'une limite de nombre de messages est fixée pour les queues et le souscriptions le message entrant (le plus récent) est détruit (ou envoyé à la DMQ si elle est configurée). Dans certains cas l'utilisateur souhaiterait des politi...<p>Lorsqu'une limite de nombre de messages est fixée pour les queues et le souscriptions le message entrant (le plus récent) est détruit (ou envoyé à la DMQ si elle est configurée). Dans certains cas l'utilisateur souhaiterait des politiques différentes : destruction du message le plus ancien, destruction d'un message au hasard, 1/N, etc.<br/>
On pourrait imaginer une politique configurable au travers d'un plugin fournit par l'utilisateur.</p>
<i>[JORAM-92] created at 2012-11-21 09:55:37 by freyssinet, version JORAM_5_8_1</i>https://gitlab.ow2.org/joram/joram/-/issues/314257Ajout d'une méthode de suppression d'un objet dans la base de persistance2022-11-21T09:51:39ZSerge LacourteAjout d'une méthode de suppression d'un objet dans la base de persistance<p>Il y a des situations ou l'on souhaiterait pouvoir supprimer un objet de la base de persistance : a3cmlconfig par exemple, ou liste des contextes à nettoyer (<a href="http://tiga:8080/browse/JORAM-243" title="Nettoyage des contextes c...<p>Il y a des situations ou l'on souhaiterait pouvoir supprimer un objet de la base de persistance : a3cmlconfig par exemple, ou liste des contextes à nettoyer (<a href="http://tiga:8080/browse/JORAM-243" title="Nettoyage des contextes clients après un redémarrage du serveur"><del>JORAM-243</del></a>).<br/>
Le fonctionnement actuel des modules de persistance transactionnels ne permet pas une telle manipulation car les objets sont conservés dans les logs. Une méthode du MBean de Transaction permettant la suppression d'un objet à partir de son nom permettrait de résoudre ce problème.</p>
<i>[JORAM-268] created at 2017-05-05 09:12:58 by freyssinet, version JORAM_5_13_0</i>https://gitlab.ow2.org/joram/joram/-/issues/314266Permettre de configurer les propriétés du header JMS dans le module Rest/JMS.2022-11-21T09:46:36ZSerge LacourtePermettre de configurer les propriétés du header JMS dans le module Rest/JMS.<p>Il serait nécessaire de pouvoir configurer la liste des propriétés du header JMS prises en compte par le module Rest/JMS.</p>
<i>[JORAM-277] created at 2017-07-21 10:48:42 by freyssinet, version JORAM_5_14_0</i><p>Il serait nécessaire de pouvoir configurer la liste des propriétés du header JMS prises en compte par le module Rest/JMS.</p>
<i>[JORAM-277] created at 2017-07-21 10:48:42 by freyssinet, version JORAM_5_14_0</i>https://gitlab.ow2.org/joram/joram/-/issues/314302Paramètrage des bridges Mail2022-11-21T09:45:59ZSerge LacourteParamètrage des bridges Mail<p>Les attributs de configuration du bridge Acquisition/Distribution sont interprétés à partir des variables d'environnement Java et ne tiennent pas compte des valeurs définies dans le fichier de configuration XML.<br/>
Il serait nécessa...<p>Les attributs de configuration du bridge Acquisition/Distribution sont interprétés à partir des variables d'environnement Java et ne tiennent pas compte des valeurs définies dans le fichier de configuration XML.<br/>
Il serait nécessaire d'utiliser les méthodes d'AgentServer.</p>
<i>[JORAM-313] created at 2018-12-19 10:08:59 by freyssinet, version JORAM_5_17_0</i>https://gitlab.ow2.org/joram/joram/-/issues/314300Mise à jour du plugin maven-javadoc-plugin et correction de la javadoc2022-11-21T09:45:24ZSerge LacourteMise à jour du plugin maven-javadoc-plugin et correction de la javadoc<p>Actuellement on ne peut générer la documentation de Joram que suite à un paramètre additionnel (-Xdoclint:none dans le POM racine). Il faudrait corriger les nombreuses erreurs de la javadoc et updater le plugin Maven.</p>
<p><a href=...<p>Actuellement on ne peut générer la documentation de Joram que suite à un paramètre additionnel (-Xdoclint:none dans le POM racine). Il faudrait corriger les nombreuses erreurs de la javadoc et updater le plugin Maven.</p>
<p><a href="https://stackoverflow.com/questions/15886209/maven-is-not-working-in-java-8-when-javadoc-tags-are-incomplete">https://stackoverflow.com/questions/15886209/maven-is-not-working-in-java-8-when-javadoc-tags-are-incomplete</a></p>
<i>[JORAM-311] created at 2018-12-04 16:38:49 by freyssinet, version JORAM_5_16_0</i>https://gitlab.ow2.org/joram/joram/-/issues/314347Rechargement d'une queue contenant un grand nombre de messages2022-11-21T09:43:43ZSerge LacourteRechargement d'une queue contenant un grand nombre de messages<p>Le problème est signalé par efluid dans le cadre du projet Enedis. La collecte des compteurs Linky pendant la nuit génère un grand nombre de messages qui ne sont traités que le jour suivant.<br/>
Le serveur bloque lors du redémarrage ...<p>Le problème est signalé par efluid dans le cadre du projet Enedis. La collecte des compteurs Linky pendant la nuit génère un grand nombre de messages qui ne sont traités que le jour suivant.<br/>
Le serveur bloque lors du redémarrage le matin.</p>
<i>[JORAM-358] created at 2020-01-21 10:01:58 by freyssinet, version JORAM_5_17_0</i>https://gitlab.ow2.org/joram/joram/-/issues/314359Nettoyage de la CleanerTask du connecteur Rest/JMS2022-11-21T09:38:55ZSerge LacourteNettoyage de la CleanerTask du connecteur Rest/JMS<p>Le nettoyage des contextes du connecteur Rest/JMs est réalisé par une tâche schédulée qui demande l'exécution de taches futures..</p>
<i>[JORAM-370] created at 2020-06-25 18:06:47 by freyssinet, version JORAM_5_17_0</i><p>Le nettoyage des contextes du connecteur Rest/JMs est réalisé par une tâche schédulée qui demande l'exécution de taches futures..</p>
<i>[JORAM-370] created at 2020-06-25 18:06:47 by freyssinet, version JORAM_5_17_0</i>https://gitlab.ow2.org/joram/joram/-/issues/314108Configuration globale de Joram2022-11-21T09:37:17ZSerge LacourteConfiguration globale de Joram<p>Depuis la version 5.2.4 un mécanisme de configuration global est implanté dans Joram, il n'est malheureusement pas utilisé dans l'ensemble du code et ne prend pas en compte les propriétés OSGi.<br/>
L'objet de cette tache est d'une pa...<p>Depuis la version 5.2.4 un mécanisme de configuration global est implanté dans Joram, il n'est malheureusement pas utilisé dans l'ensemble du code et ne prend pas en compte les propriétés OSGi.<br/>
L'objet de cette tache est d'une part d'intégrer les propriétés OSGi dans cet objet de configuration et d'autre part de généraliser son usage. Une tache additionnelle est de répertorier et documenter (*1) toutes les propriétés en usage et d'uniformiser les conventions de nommage.</p>
<p>(*1) le manuel de référence de JoramMQ contient une grosse part de ce travail.</p>
<i>[JORAM-119] created at 2013-06-04 16:55:20 by freyssinet, version JORAM_5_9_0</i>https://gitlab.ow2.org/joram/joram/-/issues/314052Implantation optimisée de la classe QueueBrowser2022-11-21T09:31:49ZSerge LacourteImplantation optimisée de la classe QueueBrowser<p>Actuellement la classe QueueBrowser récupère le contenu de la Queue, on pourrait réaliser une implantation qui récupérerait les messages au fur et à mesure de l'avancée du client dans l'énumération.</p>
<i>[JORAM-63] created at 2012-0...<p>Actuellement la classe QueueBrowser récupère le contenu de la Queue, on pourrait réaliser une implantation qui récupérerait les messages au fur et à mesure de l'avancée du client dans l'énumération.</p>
<i>[JORAM-63] created at 2012-08-28 11:27:29 by freyssinet, version JORAM_5_8_0</i>https://gitlab.ow2.org/joram/joram/-/issues/314045Optimisation du nom des objets persistants2022-11-21T09:31:09ZSerge LacourteOptimisation du nom des objets persistants<p>Les noms des objets persistants sont quelques fois très symboliques (par exemple Engine#0), leur longueur peut être préjudiciable pour les performances du module de persistance transactionnelle (place dans le log disque).</p>
<i>[JORA...<p>Les noms des objets persistants sont quelques fois très symboliques (par exemple Engine#0), leur longueur peut être préjudiciable pour les performances du module de persistance transactionnelle (place dans le log disque).</p>
<i>[JORAM-56] created at 2012-07-05 13:14:13 by freyssinet, version JORAM_5_8_0</i>https://gitlab.ow2.org/joram/joram/-/issues/314046Ordre d'allocation du composant de persistance transactionnel2022-11-21T09:28:47ZSerge LacourteOrdre d'allocation du composant de persistance transactionnel<p>La synchro du module de persistance transactionnel ne permet pas de garantir un ordre "juste" d'entrée (méthode Transaction.begin), d'une part le thread courant peut monopoliser la transaction pendant son quantum de temps, d'autre par...<p>La synchro du module de persistance transactionnel ne permet pas de garantir un ordre "juste" d'entrée (méthode Transaction.begin), d'une part le thread courant peut monopoliser la transaction pendant son quantum de temps, d'autre part l'ordre de passage des threads en attente n'est pas garanti.</p>
<i>[JORAM-57] created at 2012-07-05 14:01:30 by freyssinet, version JORAM_5_2_3</i>https://gitlab.ow2.org/joram/joram/-/issues/314383Error in dynamic change of logging level2022-11-17T11:46:49ZAndre FreyssinetError in dynamic change of logging levelVersion: Joram 1.20.0-SNAPSHOT
An attempt to change the logging level via JMX and/or SSH results in an error:
> 16/11/2022 10:43:12.360 fr.dyade.aaa.agent.SCServer WARN [RMI TCP Connection(9467)-192.168.1.90 SCServer.setLoggerLevel(181)...Version: Joram 1.20.0-SNAPSHOT
An attempt to change the logging level via JMX and/or SSH results in an error:
> 16/11/2022 10:43:12.360 fr.dyade.aaa.agent.SCServer WARN [RMI TCP Connection(9467)-192.168.1.90 SCServer.setLoggerLevel(181)]: SCServer.setLoggerLevel: Cannot set com.scalagent.jorammq.mqtt.adapter.MqttConnection.dump.level to level INFO: class java.util.logging.Level cannot be cast to class org.objectweb.util.monolog.jul.SimpleLevel (java.util.logging.Level is in module java.logging of loader 'bootstrap'; org.objectweb.util.monolog.jul.SimpleLevel is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @743bfd53)https://gitlab.ow2.org/joram/joram/-/issues/314365Persistance des connexions JNDI après déconnexion2022-10-08T09:20:50ZSerge LacourtePersistance des connexions JNDI après déconnexion<p>Lors de multiples requêtes JNDI de nombreuses sockets en TIME_WAIT s'accumulent. En cas de très nombreuses requêtes successives cela peut entrainer une saturation des ports disponibles et des refus.</p>
<i>[JORAM-376] created at 2021-...<p>Lors de multiples requêtes JNDI de nombreuses sockets en TIME_WAIT s'accumulent. En cas de très nombreuses requêtes successives cela peut entrainer une saturation des ports disponibles et des refus.</p>
<i>[JORAM-376] created at 2021-01-11 11:32:07 by freyssinet, version JORAM_5_17_0</i>https://gitlab.ow2.org/joram/joram/-/issues/314381Multiples implantations du wrapper de logging2022-07-07T06:00:48ZAndre FreyssinetMultiples implantations du wrapper de loggingLe remplacement de Monolog par un wrapper propriétaire dans la 5.19 force l'usage de JUL.
Ce choix est peu impactant pour la partie serveur quand Joram fonctionne en standalone. Il peut poser des problèmes pour la partie cliente, ou lor...Le remplacement de Monolog par un wrapper propriétaire dans la 5.19 force l'usage de JUL.
Ce choix est peu impactant pour la partie serveur quand Joram fonctionne en standalone. Il peut poser des problèmes pour la partie cliente, ou lorsque le serveur est embarqué dans un logiciel tiers.
La solution est d'extraire une interface du wrapper actuel pour permettre de multiples implantations.Andre FreyssinetAndre Freyssinet