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

10
如何解决以下错误? 是否有可以复制的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 | 

像这样的问题更多地涉及服务器管理而不是编程,应该在类似ServerFault的网站上提问,而不是在Stack Overflow上。 - undefined
5个回答

19

我成功将ActiveMQ安装为Windows 7上的服务,而无需下载任何其他内容。你只需要修改一些配置设置即可。

如果你进入以下文件夹: 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注意事项 我刚刚安装了最新版本的ActiveMQ 5.6.0, 该版本已经包含了一个64位的封装。如果你尝试点击InstallService.bat文件,很遗憾它会失败并给出如下错误: InstallService.bat error

如果以管理员身份打开Windows命令提示符并从命令行运行InstallService.bat文件,则可以正常使用。否则,如果你一定要通过点击bat文件运行它,你需要修改上述bat文件,只需要记得在以下这一行中将win32改为win64:

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

1
让我有一点希望,但最终对我没用。 - Fletch
这个def在Windows 7上运行正常,我已经在大约10台不同的机器上安装了它,似乎在所有机器上都正常工作。我会再检查一下我的批处理文件,确保没有漏掉任何东西。 - 2potatocakes
这在64位的Windows 7上无法工作。我已经在Windows 7 x64企业版上尝试过,包括ActiveMQ 5.4.3和5.5.1。你需要一个64位包装器,在社区版中目前还不可用。 - Pada
同意,我无法在5.5.1上取得相同的成功,这似乎只适用于5.5.0.. 不幸.. :( - 2potatocakes
1
这对我来说适用于5.5.1版本,但是:您必须使用JVM的32位版本。(在我的系统上为C:\Program Files (x86)\Java\jre6\bin\java.exe) - JDC
1
仅供参考,5.13.2 版本可以通过在 x64 中直接执行 InstallService 进行安装。 - terenf

4

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

似乎这是安装最新的ActiveMQ 5.7.0作为服务的主要问题:[链接](http://activemq.2283324.n4.nabble.com/ActiveMQ-5-7-0-startup-error-wrapper-jar-td4657797.html) - user1946713

1

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

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

基本上,您只需要手动创建两个文件夹:

{amq-home}/bin/win32/work 和 {amq-home}/bin/win32/temp

希望这可以帮助到您。


这对我来说是个解决方案。虽然在我看来我不应该这样做。为什么ActiveMQ不为我创建它们呢? - Quirijn

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

将片段中的绝对路径替换为您自己的安装路径。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接