大部分情况下,我们是连续运行jboss,
如何保证其不受外界干扰而继续运行不会被关闭?
在unix/linux下,通过shell应该可完成
那么在windows下呢?
想达到这个目的需要把jboss安装为系统服务
现在open source的project中已经有支持这个的了.
http://javaservice.objectweb.org/
这里可以下载javaservice 的程序包,目前版本是2.0.10
1、拷贝InstallJBoss.bat,UninstallJBoss.bat,JavaService.exe这三个文件到JBOSS_HOME/bin目录,
2、在该目录下新增一个文件installenv.bat,文件内容是
set JAVA_HOME=E:/jdk1.5.0_06
set JBOSS_HOME=E:/jboss-4.0.2_MD
*注,必须是绝对路径,可以根据安装服务的具体需要来修改
然后在InstallJBoss.bat,UninstallJBoss.bat这两个文件的开始处增加一行命令:
call installenv.bat
配置完成,另外可以适当修改InstallJBoss.bat,UninstallJBoss.bat这两个文件中的一些数据,如服务名,以及jboss启动的一些参数。
比如我修改了jboss内存配置的参数修改后如下:
"%jbossexe%" -install JBoss "%jvmdll%" -Djava.class.path="%jbossjar%;%toolsjar%" -server -Xms256M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m -start org.jboss.Main -stop org.jboss.Main -method systemExit -out "%JBOSS_HOME%/bin/out.log" -err "%JBOSS_HOME%/bin/err.log" -current "%JBOSS_HOME%/bin" -overwrite -startup 6
接下来,就是安装和卸载了
3、安装
打开cmd命令行,到达JBOSS_HOME/bin目录,执行
installjboss avp -manual
第一个参数,是依靠的服务名,一般是jboss应用所依靠的数据库服务的名称,如oracle,sqlserver的服务
比如我依赖使用的是oracle服务器,命令就为:installjboss OracleServiceORCL -manual
第二个参数,是服务的启动方式,-auto,-manual
如果不想要第一个参数,把InstallJBoss.bat中的参数%dependopt% %svcmode%去掉即可,然后运行
installjboss -auto就行了。
4、卸载
打开cmd命令行,到达JBOSS_HOME/bin目录,执行
javaservice -uninstall jboss
最后一个参数是服务名