Windows平台开机(登陆之前)自动运行JBoss

一。一开始不打算做成服务运行,继续以程序启动,有很好的界面输出。

1,如果使用JBoss作为启动项“程序\启动”,则只能在开机登陆之后才能启动,不能在登陆之前启动。

2,使用注册表注册之后,也不能实现。(我的系统是windows  Server 2008,很多不能实现)

二,改变策略,将JBOSS作成服务。

3,使用javaService.exe将Jboss制成服务。startJboss.bat文件如下:

JavaService.exe -install Jboss %Java_Home%\jre\bin\server\jvm.dll -Djava.class.path="%JBOSS_HOME%\bin\run.jar;%JAVA_HOME%\lib\tools.jar" -start org.jboss.Main -params -b 192.168.1.1 -stop org.jboss.Main -method systemExit -out "%JBOSS_HOME%\server\default\log\out.log" -err "%JBOSS_HOME%\server\default\log\err.log" -current "%JBOSS_HOME%\bin" -auto

4,经测试,发现在某些64位的windows server 2008 电脑上不能启动作成的服务,查看事件器,错误为:

*) The RMIServ service failed to start.

*) Could not load the Java Virtual Machine.

*) The LoadLibrary function failed for the following reason: The specified module could not be found.

*)jvm.dll 不能调用

三,各种纠结,甚至怀疑作成服务是否正确,故百度之,google之,均不能解决。JavaService已经停止更新,版本陈旧,问题没人解决。由于我一直搜索上述问题的解决方案,一下午的郁闷到了晚上九点,终于转换思路,想用其他方式作成服务,有所斩获,从官网上看到(引用3)文章,及其他相关文章。

5,我使用的是Jboss Native(即第一种方法)就把所有问题AC掉了。至于第二种方法和JavaService有些类似。另官网里提到JavaService不再推荐使用。但是我发现这个代码和原来JBOSS耦合度很高,需要修改代码。还是上面的问题:绑定IP(引用4),一种方法需要修改替换bin/run.bat中的

org.jboss.Main %* 为 org.jboss.Main -b XX.XX.XX.XX %*

另一种解决方案将service.bat中的

call run.bat < .r.lock >> run.log 2>&1  变化为

call run.bat -b XX.XX.XX.XX < .r.lock >> run.log 2>&1

这种方法可能需要修改多处。

四。后续工作,需要重新配置输出文件位置,错误文件位置。如有问题,我会继续写点。

---------------------------------------------------------------------------

引用

1:

系统开机自动运行程序和自动启动服务

http://www.cnblogs.com/taobataoma/archive/2007/08/15/856441.html

2:

将JBoss启动做成Windows的系统服务 服务器一开机自动运行JBoss

http://blog.csdn.net/bnuchampion/archive/2009/05/01/4141121.aspx

3:

RunJBossAsAServiceOnWindows

http://community.jboss.org/wiki/RunJBossAsAServiceOnWindows

4:

Unable to access Jboss Console from LAN IP

http://community.jboss.org/wiki/UnableToAccessJbossConsoleFromLANIP

你可能感兴趣的:(windows,jboss,service,职场,休闲)