论坛首页 Java企业应用论坛

防止JAVA程序重复启动的一个另类解决办法

浏览 21708 次
该帖已经被评为精华帖
作者 正文
   发表时间:2006-12-11  
可以使用单例模式的一种变种
 if(instance != null) return "在一台主机上同时只能启动一个进程(Only one instance allowed)。";
0 请登录后投票
   发表时间:2006-12-11  
不另类,两个方法
首选nio锁文件
次选socket端口
已经是公认的解决方案了
0 请登录后投票
   发表时间:2006-12-11  
你这个方法太old了,前几年我刚学java时就有人提过这个方法了,并不是什么“另类解决办法”。
0 请登录后投票
   发表时间:2006-12-20  
yongweiking 写道
hiswing 写道
巧了.这个思路我N年前也用过.
http://www.mxjava.com/blog/article.asp?id=3

而且最近公司的项目中也用了这个思路.呵呵~~我们都在杭州哦!



看了你写的方法,但我有一点疑问,你在选择服务器端口时,采用的是自动增加的方法,这个方法没问题,但你在console类中,iPort = 50000。由于在不同的jvm下运行,这个Consonle客户端每次连接的都是端口50000,那么,Server中端口增加非但没有意义,反而会引起误操作。假如端口50000被其它程序占用,那么该程序还不能很好做到防止重复运行了。我想还是指定端口吧。望指教。


我想你没有搞懂这个程序是做什么的。建议再认真看一遍。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics