做服务程序要注意几点:
- 如果可能,相关的程序一定要加到linux的启动脚本,一旦发生机器重启的时候,启动后服务直接恢复
- 服务程序要自带一个自己的测试程序,检测自己的启动是否正常,可以正常的运行简单的业务,开源的软件的服务程序一般都带个服务自检的程序。尤其对于有些服务没有界面,必须有这么一个程序
- 如果有系统运维监控程序,请将程序放到监控程序中,这样很容易的检测到报警后进行处理
- 服务最好是守护进程和业务进程,守护进程守护业务进程进行重启
java程序服务器调试
- java的远程调试,开启jvm虚拟机的选项,详细文档见
http://my.oschina.net/aiguozhe/blog/104478 - 如果要调试一个线程,不debug,现网又输出很多日志,那么可以将sleep的时间设置为这个样子
sleep(时间片1)
业务执行
sleep(时间片2)
通过jstack输出文件,然后查看程序执行到那一步,是业务没有执行,还是没有运行到时间片2上。