`
上帝卖糕的
  • 浏览: 43736 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

令人十分怨念的tomcat注册成windows服务

阅读更多
  最近不知道怎么回事,服务器上的程序突然出问题了,有些页面无法正常访问了,或者只显示一半,以前也遇到过这种情况,应该是在读取数据的时候,出现了问题,继而联想到这样发布其实还是存在一定隐患的。
  当初,为了使用户方便,我直接将tomcat注册成了Windows服务,并且将启动类型设置为“自动启动”,这样即使用户因为断电或其它原因,重启了服务器,程序也能自动起,不需要用户再去手工启动。直到今天这个问题暴露,我才意识到一个大问题
程序启动时,需要连接数据库,但是数据库服务往往启动的比较慢,因此如果在数据库服务完全启动之前,应用程序服务已经启动完成,那么就会造成错误,出现今天这种局面。
  google了半天,采用以下解决方案:
 
sc config tomcatAPP depend= OracleServiceOPB/OracleServiceORCL

就是说,将tomcat服务,设置成为依赖这两个数据库服务,即这两个数据库实例启动之后,才会启动tomcat。
这里需要注意,“tomcatAPP”这个服务名,并不是在服务列表里看到的名字,那个名字并不准确,看下图



这里要写“服务名”,而不是“显示名”,或者最简单,到注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services中去看真实的服务名。另外,sc命令的格式也要注意,"depend="是一个整体的命令参数,后面要跟一个空格,然后再跟依赖的服务名称,多个服务之间用/隔开,服务名上没有引号。
  完成这条命令之后,按理说就应该可以了,我们可以看到,tomcat服务和oracle服务之间,也确实建立了依赖关系



  但是令人十分怨念的是,重启之后,问题居然依旧,靠!!再google之。等解决了再补上~~

总结一下全部的步骤,也期待高人给指点一下:
1,打开CMD。
2,进入TOMCAT_HOME/bin目录下。
3,输入命令:"service install tomcatAPP",安装服务。卸载服务的命令是:"service reomve tomcatAPP"
。4,设置服务为自动启动,输入命令:"sc config tomcatAPP start= auto"。
5,设置服务依赖关系,输入命令:"sc config tomcatAPP depend= OracleServiceOPB/OracleServiceORCL"
6,重启机器,看看有没有效果。
  • 大小: 94.9 KB
  • 大小: 38.6 KB
分享到:
评论
1 楼 LifeFree 2010-01-06  
这个。。。
要换个思路, web应用数据库连接都应该是支持重连的,不然要是中间数据库中断一下,又要重启应用。把你的数据库连接池配置调整一下吧。

相关推荐

Global site tag (gtag.js) - Google Analytics