rainbowzc

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::
 最近不知道怎么回事,服务器上的程序突然出问题了,有些页面无法正常访问了,或者只显示一半,以前也遇到过这种情况,应该是在读取数据的时候,出现了问题,继而联想到这样发布其实还是存在一定隐患的。
  当初,为了使用户方便,我直接将tomcat注册成了Windows服务,并且将启动类型设置为“自动启动”,这样即使用户因为断电或其它原因,重启了服务器,程序也能自动起,不需要用户再去手工启动。直到今天这个问题暴露,我才意识到一个大问题
程序启动时,需要连接数据库,但是数据库服务往往启动的比较慢,因此如果在数据库服务完全启动之前,应用程序服务已经启动完成,那么就会造成错误,出现今天这种局面。
  google了半天,采用以下解决方案:
 
Java代码 复制代码
  1. 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,重启机器,看看有没有效果。
posted on 2010-12-05 15:58  ct  阅读(3152)  评论(0编辑  收藏  举报