如何在Windows上将ActiveMQ安装为64位服务?

时间:2011-01-07 15:03:35

标签: java windows activemq

如何解决以下错误? 有没有办法可以复制64位包装器?

FATAL  | wrapper  | 2011/01/07 08:53:48 | OpenSCManager failed - Access is denied. (0x5)
STATUS | wrapper  | 2011/01/07 08:54:13 | ActiveMQ installed.
STATUS | wrapper  | 2011/01/07 08:54:25 | --> Wrapper Started as Service
STATUS | wrapper  | 2011/01/07 08:54:26 | Launching a JVM...
INFO   | jvm 1    | 2011/01/07 08:54:26 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2011/01/07 08:54:26 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
INFO   | jvm 1    | 2011/01/07 08:54:26 | 
INFO   | jvm 1    | 2011/01/07 08:54:26 | 
INFO   | jvm 1    | 2011/01/07 08:54:26 | WARNING - Unable to load the Wrapper's native library 'wrapper.dll'.
INFO   | jvm 1    | 2011/01/07 08:54:26 |           The file is located on the path at the following location but
INFO   | jvm 1    | 2011/01/07 08:54:26 |           could not be loaded:
INFO   | jvm 1    | 2011/01/07 08:54:26 |             C:\stuff\apache-activemq-5.4.2\bin\win32\..\..\bin\win32\wrapper.dll
INFO   | jvm 1    | 2011/01/07 08:54:26 |           Please verify that the file is readable by the current user
INFO   | jvm 1    | 2011/01/07 08:54:26 |           and that the file has not been corrupted in any way.
INFO   | jvm 1    | 2011/01/07 08:54:26 |           One common cause of this problem is running a 32-bit version
INFO   | jvm 1    | 2011/01/07 08:54:26 |           of the Wrapper with a 64-bit version of Java, or vica versa.
INFO   | jvm 1    | 2011/01/07 08:54:26 |           This is a 64-bit JVM.
INFO   | jvm 1    | 2011/01/07 08:54:26 |           Reported cause:
INFO   | jvm 1    | 2011/01/07 08:54:26 |             C:\stuff\apache-activemq-5.4.2\bin\win32\wrapper.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
INFO   | jvm 1    | 2011/01/07 08:54:26 |           System signals will not be handled correctly.
INFO   | jvm 1    | 2011/01/07 08:54:26 | 

5 个答案:

答案 0 :(得分:17)

我设法在Windows 7上成功安装ActiveMQ作为服务而无需下载任何其他内容。您只需要修改一些配置设置。

如果你进入以下文件夹:C:\ apache-activemq-5.5.0 \ bin \ win32

在本地文本编辑器中打开“InstallService.bat”文件。

修改脚本的底部部分,如下所示。请注意,您的JAVA_HOME环境变量需要已经设置,您需要将其作为变量传递给包装器。

:conf
set _WRAPPER_CONF="%ACTIVEMQ_HOME%\bin\win32\wrapper.conf"

set _ACTIVEMQ_HOME="set.ACTIVEMQ_HOME=%ACTIVEMQ_HOME%"
set _ACTIVEMQ_BASE="set.ACTIVEMQ_BASE=%ACTIVEMQ_BASE%"
set _JAVA_HOME="set.JAVA_HOME=%JAVA_HOME%"

rem
rem Install the Wrapper as an NT service.
rem
:startup
"%ACTIVEMQ_HOME%\bin\win32\wrapper.exe" -i %_WRAPPER_CONF% %_ACTIVEMQ_HOME% %_ACTIVEMQ_BASE% %_JAVA_HOME%
if not errorlevel 1 goto :eof
pause

然后在本地文本编辑器中打开“C:\ apache-activemq-5.5.0 \ bin \ win32 \ wrapper.conf”

并改变这一点:

# Java Application
wrapper.java.command=java

到此:

# Java Application
wrapper.java.command=%JAVA_HOME%\bin\java.exe

完成后,您应该能够成功运行InstallService.bat。

此外,如果您还希望能够使用UninstallService.bat文件,请打开它并硬编码包装器的路径:

rem
rem Uninstall the Wrapper as an NT service.
rem
:startup
"%ACTIVEMQ_HOME%\bin\win32\wrapper.exe" -r %_WRAPPER_CONF%
if not errorlevel 1 goto :eof
pause

ActiveMQ 5.6.0说明 我刚刚安装了最新的5.6.0版本的ActiveMQ,它实际上包含了这个版本的64位包装器。如果您尝试单击InstallService.bat文件,它仍然会失败,不幸的是会给您一个错误,如下所示: InstallService.bat error

如果您以管理员身份打开Windows命令提示符并从命令行运行InstallService.bat文件,它将起作用。否则,如果您绝对坚持能够单击bat文件,那么如果您按上述方法修改bat文件将会有效,除非记住在此行中使用win64而不是win32:

"%ACTIVEMQ_HOME%\bin\win64\wrapper.exe"

答案 1 :(得分:4)

您可以使用Procrun,因为64位的wrapper.dll不是免费的。

http://blog.bigrocksoftware.com/2010/10/07/commons-daemon-procrun-as-a-java-service-wrapper-for-activemq/

我们已经在我们的制作中试过了这篇文章的设置。它很棒!

答案 2 :(得分:1)

我到了这里,因为我遇到了ActiveMQ 5.5.1的问题,但在启动服务时出现了一个不同的错误(类似'无法创建tmp文件夹')。

解决方案非常简单。我在这里找到了它:https://issues.apache.org/jira/browse/AMQ-2946

基本上,你必须手动创建两个文件夹:

{AMQ家庭} /斌/的Win32 /工作 和 {AMQ家庭} /斌/的Win32 /温度

希望这有帮助。

答案 3 :(得分:1)

如果您尝试安装ActiveMQ 5.7.0并将其作为Windows服务运行,则他们忘记将wrapper.jar文件包含在发行版中。您需要下载ActiveMQ 5.6.0版本,从本发行版的BIN文件夹中获取wrapper.jar,并将其复制到5.7.0的相应BIN文件夹中。然后它应该工作。不要忘记您需要以管理员身份运行服务安装脚本(右键单击BAT文件,以管理员身份运行)

答案 4 :(得分:0)

使用procrun时(请参阅上面的LostInComputer的回答),您可能需要在安装服务时添加以下JVM选项,以便$ {activemq.conf}和$ {activemq.data}变量正确解析服务启动:

++ JvmOptions = -Dactivemq.conf = C:\ Java \ apache-activemq-5.7.0 \ conf ++ JvmOptions = -Dactivemq.data = C:\ Java \ apache-activemq-5.7.0 \ data < / p>

使用您自己的安装路径替换代码段中的绝对路径。