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

Java 如何在windows上将ActiveMQ安装为64位服务?,java,windows,activemq,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

如何避免以下错误? 有没有办法复制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 | 

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


已经在我们的产品中尝试了文章的设置。它工作得很好

我成功地将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说明 我刚刚安装了最新的5.6.0版本的ActiveMQ,在这个版本中它实际上包含了一个64位的包装器。如果您尝试单击InstallService.bat文件,它仍然会失败,不幸的是会出现如下错误: .

如果您以管理员身份打开windows命令提示符,并从命令行运行InstallService.bat文件,它将正常工作。否则,如果您坚决要求能够单击bat文件,则按照上述方式修改bat文件将有效,但请记住在此行中使用win64而不是win32:

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

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

解决办法很简单。我在这里找到的:

基本上,您不必手动创建两个文件夹:

{amq home}/bin/win32/work 及 {amq home}/bin/win32/temp


希望这能有所帮助。

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

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

++JVMPoptions=-Dactivemq.conf=C:\Java\apache-activemq-5.7.0\conf++JvmOptions=-Dactivemq.data=C:\Java\apache-activemq-5.7.0\data


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

让我抱了一段时间的希望,但最终对我不起作用。此def在Windows 7上工作,我现在已经在大约10台不同的机器上安装了它,似乎在所有机器上都能正常工作。。我会再看一次我的bat文件,确保我没有遗漏任何东西。这对64位Windows7不起作用。我已经在Windows7x64企业版和ActiveMQ 5.4.3和5.5.1上尝试过这一点。你需要一个64位的包装器,目前社区版中还没有。这对我来说适用于5.5.1,但是:你必须使用32位版本的JVM。(我的系统上的C:\Program Files(x86)\Java\jre6\bin\Java.exe)仅供参考,5.13.2可以通过直接在x64中执行InstallService来安装。这是我的解决方案。虽然我不应该这样做。为什么ActiveMQ不为我创建它们?听起来这是安装最新的ActiveMQ 5.7.0作为服务的主要问题: