i ont quelques applications de ligne de commande java batch qui devrait être déployé comme:Comment partager la bibliothèque log4j le plus efficacement possible
batch_apps
app_1
batch1.jar
run_batch1.sh
app_2
batch2.jar
run_batch3.sh
{...etc...}
ce qui serait la meilleure pratique sur l'organisation d'un pool de bibliothèque partagée - par exemple log4j:
batch_apps
app_1
batch1.jar
run_batch1.sh
app_2
batch2.jar
run_batch3.sh
libs
log4j.jar
ojdbc.jar
?
et d'inclure chaque fichier log4j.xml dans le propre fichier jar de chaque application? Je comprends que je voudrais besoin d'ajouter « libs » au classpath soit dans ou manifeste run_batchX.sh (quelle manière est préférable?)
Je me demandais surtout quelle serait la configuration la plus efficace en terme de performance.
grâce
Pourquoi "performance-wise"? Que font vos applications pour vous inquiéter des conséquences sur les performances de l'emplacement des bibliothèques?! La plupart du temps je ne prendrais même pas la peine de configurer un emplacement partagé: cela simplifie les mises à niveau, mais que se passe-t-il si une mise à niveau forcée par une application en casse une autre? –
Je suppose que je manque juste de connaissances sur la façon dont plusieurs JVM lisent les bibliothèques partagées. Quant à savoir pourquoi partager - je gère des pots de 20-30 Mo avec 25 Mo de bibliothèques, alors je me demande si je les déplace à la racine - je vais certainement avoir moins de temps à passer sur les choses autour de ftp. mais quels sont les compromis? – webwesen
Chaque JVM lit pour elle-même. En ce qui concerne ftping, si vous ne créez pas de répertoire partagé, vous pouvez facilement écrire des scripts de déploiement pour télécharger des bibliothèques avec l'application elle-même, donc si vous ne transférez pas sur une connexion très lente, je ne pense pas que vous devriez le faire. –