为ActiveMQ指定jdk
最近我遇到这样一种情况,为了动态生成weblogic上的集成平台的程序heap dump文件,我要使用sun jdk1.6才开始有的jmap工具手动生成。这个工具目前我只知道仅在同一个服务器上可以监控。所以我就在测试服务器上安装了一个sun jdk1.6,结果安装上后,ActiveMQ检测到了环境中新安装的jdk1.6环境,启动报错。一看错误,我是使用AvtiveMQ 5.4.2,这个版本比较老,使用sun jdk1.6的时候,jetty 不支持。所以我就想,能否给他手动指定一个jdk1.5 ,反正我又不需要监控ActiveMQ的运行内存情况。所以我琢磨了一下ActiveMQ的启动批处理程序,找到这样一种方法,仅供参考。
我以windows系统的修改为例。
我是用ActiveMQ安装目录下的bin目录下的activemq.bat文件启动ActiveMQ的,所有我需要修改该文件。
找到如下位置:
引用if "%JAVA_HOME%" == "" goto noJavaHome
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
if "%_JAVACMD%" == "" set _JAVACMD=%JAVA_HOME%\bin\java.exe
goto runAnt
这个位置就是判断JAVA_HOME变量的位置。所有我在这个之前添加如下语句:
引用set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_22
如果有人设置过weblogic的jdk的话,可能会说,你这个目录名字中有空格,应该加“”,才能识别。本来我也这么想。 第一次就加了“”,可是设置完之后一运行反而报错。去掉了“”,正常启动。原因在于这个是用的bat文件。weblogic那个是用的cmd文件,且存在 调用关系。
希望这个设置对大家有帮助。
上一篇: 关于《深入理解并行编程》一书
下一篇: 06_MongoDB_存储过程