开发者

Java Windows Service with Procrun, StopMethod problem

My Java class contains the following methods:

public static void main(String[] argv) //start the service

public static void stop() //stop the service

I'm using Procrun from Apache Commons Daemon to setup the Java class as a Windows Service. I get an error when I try to stop the service "[618 javajni.c] [error] Static method 'void main(String[])' in Class com/caphyon/service/JavaService not found". The problem is I am trying to call the stop method when the service is shutting down, but it appears to override the StopMethod with 'void main(String[])'. Here are the stop and start parameters I am using when setting up the service:

prunsrv.exe //US//JavaService --StartClass=com.caphyon.se开发者_开发知识库rvice.JavaService --StartMode=jvm --StartPath="C:\JavaService"

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

How do I set the StopMethod prunsrv will call when shutting down the service?


You shouldn't put the return type (i.e., "void") or the parens in the --StopMethod parameter's value. So, the command should be:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜