2010-03-24 6 views
1

Ma classe Java contient les méthodes suivantes:Java service Windows avec Procrun, problème StopMethod

static void main publique (String [] argv) // démarrer le service

arrêt public static void() // arrête le service

J'utilise Procrun de Apache Commons Daemon pour configurer la classe Java en tant que service Windows. J'obtiens une erreur quand j'essaye d'arrêter le service "[618 javajni.c] [erreur] Méthode statique 'void main (String [])' dans Classe com/caphyon/service/JavaService non trouvé". Le problème est que j'essaye d'appeler la méthode stop quand le service est en train de s'arrêter, mais il semble remplacer le StopMethod avec 'void main (String [])'. Voici les paramètres d'arrêt et de démarrage que j'utilise lors de la configuration du service:

prunsrv.exe // US // JavaService --StartClass = com.caphyon.service.JavaService --StartMode = jvm --StartPath = " C: \ JavaService "

prunsrv.exe // US // JavaService --StopClass = com.caphyon.service.JavaService --StopMode = jvm --StopPath =" C: \ JavaService "--StopMethod =" void stop() "

Comment définir le StopMethod que prunsrv appellera lors de l'arrêt du service?

Répondre

2

Vous ne devez pas mettre le type de retour (c'est-à-dire, "void") ou les parens dans la valeur du paramètre --StopMethod. Donc, la commande devrait être:

prunsrv.exe //US//JavaService --StopClass=com.caphyon.service.JavaService --StopMode=jvm --StopPath="C:\JavaService" --StopMethod="stop" 
+0

J'ai changé le paramètre en --StopMethod = "stop" mais la même erreur apparaît toujours dans le journal. Il semble remplacer l'option pour --StopMethod et appelle "main" à la place. "[618 javajni.c] [erreur] Méthode statique 'void main (String [])' dans la classe com/caphyon/service/JavaService introuvable" – mcdon

+1

Il semble également que la méthode stop() doive prendre une String array en tant que paramètre pour que cela fonctionne. –

+0

Vous avez raison, si je change la méthode java en "public static void stop (String [] argv)", cela fonctionne correctement. Il semble que procrun n'aime pas les fonctions java sans paramètre. – mcdon

Questions connexes