Bonjour
Nous utilisons Karaf 4 pour faire tourner des routes Camel (fichiers .kar générés via Talend Open Studio for ESB).
Cela fonctionne bien mais nous avons un souci de déploiement : lorsque l'on dépose un nouveau .kar ou une mise à jour d'un .kar existant dans le rep container/deploy cela redémarre tous les autres bundles (la console montre "stopping" puis "resolved" puis "Active"). Cela provoque une interruption de service gênante en environnement de production.
Pour certains bundles, cela fonctionne bien (pas de redémarrage), exemple de fichier de log :
Pour d'autres, on voit qu'il redémarre les autres bundles à cause de dépendances :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 2017-10-12 08:46:54,113 | Uninstalling bundles: 2017-10-12 08:46:54,113 | gfc.R_FRONTAL_HTTP/0.2.0 2017-10-12 08:46:54,116 | org.apache.camel.camel-jetty-common/2.17.3 2017-10-12 08:46:54,116 | org.apache.camel.camel-jetty9/2.17.3 2017-10-12 08:46:54,118 | Refreshing bundles: 2017-10-12 08:46:54,118 | gfc.R_FRONTAL_HTTP/0.2.0 (Bundle will be uninstalled) 2017-10-12 08:46:54,118 | org.apache.camel.camel-jetty-common/2.17.3 (Bundle will be uninstalled) 2017-10-12 08:46:54,118 | org.apache.camel.camel-jetty9/2.17.3 (Bundle will be uninstalled) 2017-10-12 08:46:54,121 | Done.
En cherchant sur internet, j'ai trouvé ce workaround en modifiant le fichier properties pour précharger les bundles "de base" de Karaf et éviter ainsi le refresh, mais cela ne semble pas fonctionner.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 2017-10-12 09:15:22,391 | Changes to perform: 2017-10-12 09:15:22,391 | Region: root 2017-10-12 09:15:22,391 | Bundles to install: 2017-10-12 09:15:22,391 | mvn:gfc.R_FRONTAL_HTTP/R_FRONTAL_HTTP/0.2 2017-10-12 09:15:22,391 | mvn:org.apache.camel/camel-jetty-common/2.17.3 2017-10-12 09:15:22,391 | mvn:org.apache.camel/camel-jetty9/2.17.3 2017-10-12 09:15:22,391 | mvn:org.codehaus.woodstox/stax2-api/3.1.4 2017-10-12 09:15:22,392 | Installing bundles: 2017-10-12 09:15:22,392 | mvn:gfc.R_FRONTAL_HTTP/R_FRONTAL_HTTP/0.2 2017-10-12 09:15:22,402 | mvn:org.apache.camel/camel-jetty-common/2.17.3 2017-10-12 09:15:22,403 | mvn:org.apache.camel/camel-jetty9/2.17.3 2017-10-12 09:15:22,403 | mvn:org.codehaus.woodstox/stax2-api/3.1.4 2017-10-12 09:15:22,438 | Stopping bundles: 2017-10-12 09:15:22,438 | gfc.R7_PU017B_BP_FROMKHEOPSTOSAP/0.1.0 2017-10-12 09:15:22,444 | gfc.R_BROKER_KHEOPS/0.1.0 ... 2017-10-12 09:15:52,287 | Refreshing bundles: 2017-10-12 09:15:52,287 | activemq-karaf/5.14.1 (Wired to org.apache.activemq.activemq-osgi/5.14.1 which is being refreshed) 2017-10-12 09:15:52,287 | gfc.R7_PU017B_BP_FROMKHEOPSTOSAP/0.1.0 (Wired to org.apache.activemq.activemq-osgi/5.14.1 which is being refreshed) 2017-10-12 09:15:52,287 | gfc.R_BROKER_BUS/0.1.0 (Wired to org.apache.activemq.activemq-osgi/5.14.1 which is being refreshed) 2017-10-12 09:15:52,287 | gfc.R_BROKER_KHEOPS/0.1.0 (Wired to org.apache.activemq.activemq-osgi/5.14.1 which is being refreshed) ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 [root@kardev01 container]# cat etc/org.apache.karaf.features.cfg ... featuresBoot=\ (instance, \ activemq-client, \ activemq-camel, \ activemq, \ package, \ ...J'ai aussi essayé en dézippant le .kar, enlevant dans son features.xml la dépendance vers activemq (ou cxf pour d'autres bundles) dans le fichier monbundle-feature.xml, mais j'ai toujours le souci de refresh.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 [root@kardev01 container]# cat etc/startup.properties # Bundles to be started on startup, with startlevel mvn\:org.ops4j.pax.logging/pax-logging-api/1.8.5 = 8 mvn\:org.ops4j.pax.logging/pax-logging-service/1.8.5 = 8 mvn\:org.apache.felix/org.apache.felix.configadmin/1.8.8 = 10 mvn\:org.apache.felix/org.apache.felix.fileinstall/3.5.4 = 11 mvn\:org.apache.felix/org.apache.felix.metatype/1.1.2 = 5 mvn\:org.apache.karaf.services/org.apache.karaf.services.eventadmin/4.0.7 = 5 mvn\:org.ops4j.pax.url/pax-url-aether/2.4.7 = 5 mvn\:org.apache.karaf.features/org.apache.karaf.features.core/4.0.7 = 15 mvn\:joda-time/joda-time/2.9.2 = 50
Je ne sais plus trop quoi tester d'autre. Quelqu'un maitrise t-il ce sujet déploiement svp ?
(On peut passer par une autre technique que le rep deploy, par exemple "feature:install", mais pour l'avoir testé on a le même souci)
Merci !
Loko
Partager