在Windows Server 2008上将ActiveMQ作为64位服务运行

时间:2012-01-12 15:29:31

标签: windows activemq procrun

我们之前使用Tanuki java服务包装器来运行ActiveMQ。迁移到运行Windows Server 2008 R2的64位服务器后,除非我们支付标准版或专业版的java服务包装器,否则我们无法将ActiveMQ安装为服务。

我读到其他人在64位架构http://blog.bigrocksoftware.com/2010/10/07/commons-daemon-procrun-as-a-java-service-wrapper-for-activemq/上使用Apache Commons Daemon作为ActiveMQ的服务包装器。本网站上的说明允许我在我们的服务器上成功安装ActiveMQ作为服务,但是在启动服务时我们在事件日志中收到错误。我在页面底部评论了这篇文章

  

我可以使用本文中的说明将ActiveMQ安装为服务,但是当我通过服务控制面板启动时,我得到了   Windows无法在本地计算机上启动ActiveMQ。有关更多信息,请查看系统事件日志。   当我查看事件日志时,我看到了   ActiveMQ服务因服务特定错误而终止操作成功完成..   我认为这可能与我的架构有关。我正在运行Windows server 2008 R2,我的处理器是64位Intel Xeon。我没有看到commons-daemon包中包含该体系结构。当我安装时,我使用通用的'prunsrv.exe'文件而不是amd64 / prunsrv.exe,或者ia64 / prunsrv.exe - 我在安装过程中尝试使用这些exe文件时收到错误,并且只能够使用通用prunsrv.exe安装。   有没有办法让这个与我的架构一起工作?还是我错过了什么?

我想知道是否有人对此列表有任何建议?也许是我在通过procrun安装时遗漏的东西,或者是在64位Windows上运行的另一个服务包装器。任何评论都表示赞赏。

感谢。

编辑011312:

感谢您的回复。 activemq-daemon日志列出了这些错误

[2012-01-11 09:45:43] [error] %1 is not a valid Win32 application.
[2012-01-11 09:45:43] [error] ServiceStart returned 1
[2012-01-11 09:45:43] [error] %1 is not a valid Win32 application.
[2012-01-11 09:45:43] [info]  Run service finished.
[2012-01-11 09:45:43] [info]  Commons Daemon procrun finished
[2012-01-11 09:46:05] [info]  Commons Daemon procrun (1.0.8.0 32-bit) started
[2012-01-11 09:46:05] [info]  Running 'ActiveMQ' Service...
[2012-01-11 09:46:05] [info]  Starting service...
[2012-01-11 09:46:05] [error] %1 is not a valid Win32 application.
[2012-01-11 09:46:05] [error] Failed creating java C:\Program Files\Java\jdk1.6.0_29\jre\bin\server\jvm.dll

我将这些错误解释为可能是我通过procrun作为服务安装activemq的选项之一是错误的 - 我确实验证了jvm.dll确实存在于我的文件系统中的该位置。我使用博客文章中列出的选项作为模型

安装了procrun这些选项

ActiveMQ.exe // IS // ActiveMQ --DisplayName =“ActiveMQ”--Description =“ActiveMQ Java Messaging Server” - Start = auto --LogPath = D:\ apache-activemq-5.5.0-bin \ apache-activemq-5.5.0-bin \ apache-activemq-5.5.0 \ data --LogLevel = INFO --LogPrefix = activemq-daemon --StdOutput = auto --StdError = auto --StartPath = D:\ apache -activemq-5.5.0-bin \ apache-activemq-5.5.0-bin \ apache-activemq-5.5.0 --StartClass = org.apache.activemq.console.Main --StartMethod = main --StartParams = start - -StartMode = jvm --StopPath = D:\ apache-activemq-5.5.0-bin \ apache-activemq-5.5.0-bin \ apache-activemq-5.5.0 -StopClass = org.apache.activemq.console。 Main --StopMethod = main --StopParams = shutdown --StopMode = jvm --Jvm = C:\ Program Files \ Java \ jdk1.6.0_29 \ jre \ bin \ server \ jvm.dll --Classpath = D:\ apache -activemq-5.5.0-bin \ apache-activemq-5.5.0-bin \ apache-activemq-5.5.0 \ bin \ run.jar --JvmOptions = -Xmx512M ++ JvmOptions = -Dorg.apache.activemq.UseDedicatedTaskRunner = true ++ JvmOptions = -Djava.util.logging.config.file = logging.properties ++ JvmOpt ions = -Dactivemq.home = D:\ apache-activemq-5.5.0-bin \ apache-activemq-5.5.0-bin \ apache-activemq-5.5.0 ++ JvmOptions = -Dactivemq.base = C:\ Java \ apache-activemq-5.4.1 ++ JvmOptions = -Dactivemq.classpath = D:\ apache-activemq-5.5.0-bin \ apache-activemq-5.5.0-bin \ apache-activemq-5.5.0 \ conf + + JvmOptions = -Dcom.sun.management.jmxremote.port = 9004 ++ JvmOptions = -Dcom.sun.management.jmxremote.authenticate = false ++ JvmOptions = -Dcom.sun.management.jmxremote.ssl = false

0 个答案:

没有答案