将jfinal项目成为windows上的服务

2 篇文章 0 订阅

1. 下载WinSW.NET4.exe 并改成你自己的项目名称,如: club.exe

2. 创建项目名.xml,如: club.xml,复制并修改以代码:

  1. <configuration>
  2.   <id>club</id>
  3.   <name>jfinal club</name>
  4.   <description>jfinal club</description>
  5.   <executable>jfinal.bat</executable>
  6.   <logmode>rotate</logmode>
  7.   <startargument>start</startargument>
  8.   <stopargument>stop</stopargument>
  9. </configuration>

最后的结构如下图2.png

3. 以管理员运行cmd(win10为win+x+A),并进入到项目文件夹。

注册服务:

  1. .\club.exe install

移除服务

  1. .\club.exe uninstall

运行服务

  1. net start club

停止服务

  1. net stop club

完成,收工。

4. xml另一种写法,不需要jfinal.bat(注意修改自己的主类)

  1. <configuration>
  2.   <id>club</id>
  3.   <name>jfinal club</name>
  4.   <description>jfinal club</description>
  5.   <executable>java</executable>
  6.   <logmode>rotate</logmode>
  7.   <env name="MAIN_CLASS" value="com.mypackage.Application"/>
  8.   <env name="JAVA_OPTS" value="-Xms256m -Xmx1024m"/>
  9.   <env name="APP_BASE_PATH" value="%BASE%" />
  10.   <env name="CP" value="%APP_BASE_PATH%\config;%APP_BASE_PATH%\lib\*" />
  11.   <arguments>-Xverify:none %JAVA_OPTS% -cp %CP% %MAIN_CLASS%</arguments>
  12.   <stopparentprocessfirst>true</stopparentprocessfirst>
  13. </configuration>

5.  存在问题

第一种配置文件写法,start 是没问题的。stop 也能停止项目,但是jfinal 好像没有正常停止,因为 onStop() 没有执行。路过的大神如果知道的话还请指点。

ps. 经评论里网友提点,无法正常停止是因为java变成windows服务时 jps 获取不到 pid。

经修改第二种配置文件正常,推荐使用(本人采用第二种方法)。

ps. 这种方法也不仅可以注册java为服务,其它可运行程序也可以,如nginx. 具体请看:https://github.com/kohsuke/winsw

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值