2010-01-15 6 views
2

Je suis à la recherche d'un moyen de définir par programme les options Java pour Tomcat 6.0 fonctionnant en tant que service Windows. Lorsque vous utilisez startup.bat et shutdown.bat, vous pouvez définir ces variables dans un fichier setenv.bat ou catalina.bat. Toutefois, pour Tomcat s'exécutant en tant que service Windows, ces options doivent être définies manuellement dans la section Options Java de l'utilitaire de configuration.Possibilité de définir par programme les options Java pour Tomcat en tant que service Windows

Est-il possible de définir ces options par programme? Contexte: J'essaye d'écrire un installateur qui déploiera mon application sur un serveur Tomcat 6.0 existant. Je peux faire tout le reste par programmation, mais je vais toujours demander à l'utilisateur d'ajouter manuellement quelques options Java dans ces paramètres. C'est loin d'être idéal, d'autant plus que ces options sont sensibles à la casse et aux espaces.

+0

La configuration du service va finalement dans le registre de Windows. Je ne suis pas sur Windows en ce moment, donc je ne peux pas vous donner une réponse correcte, mais il devrait être possible de manipuler les clés de registre d'une manière ou d'une autre. –

Répondre

4

Le binaire Tomcat6 pour exécuter Tomcat en tant que service Windows has a bunch of command-line parameters qui vous aidera probablement. Le seul problème que je prévois est qu'il est difficile (impossible?) Pour récupérer les paramètres actuels afin que vous puissiez les modifier ...

+1

merci, cela fonctionne: 'tomcat6 // US // Tomcat6 --JvmOptions =" ​​- DSetting1 = Value1; -DSetting2 = Value2 "' Cependant, comme vous l'avez dit, c'est un problème car il écrase toutes les options java existantes , et je ne veux pas écraser les paramètres pour d'autres applications qui peuvent être sur ce serveur – Kip

+0

Je pensais à ce sujet sur mon retour à la maison; Je parie que vous pouvez trouver les paramètres d'origine dans le registre de Windows, puis les modifier (peut-être même dans le registre directement, mais en utilisant certainement la méthode de ligne de commande 'tomcat6 // US //'). SO avait un fil à propos de la lecture du registre en Java: http://stackoverflow.com/questions/62289/read-write-to-windows-registry-using-java; Je pense que l'information de service de Tomcat devrait vivre à HKEY_LOCAL_MACHINE \ SOFTWARE \ Apache Software Foundation \ Procrun 2.0 \ Tomcat6 \. Totalement kludgy, mais je ne sais pas s'il y a un autre moyen. – delfuego

+0

merci, cela aide beaucoup – Kip

Questions connexes