2011-01-07 64 views
8

如何解决以下错误? 有没有一种方法可以将64位封装器复制到那里?如何在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 | 

回答

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注意事项 我刚刚安装了ActiveMQ的最新版本5.6.0,它实际上包含此版本的64位包装器。如果你尝试点击InstallService.bat文件,它仍然会失败,给你一个这样的错误: InstallService.bat error

如果以管理员身份打开Windows命令提示符并从命令行运行InstallService.bat文件,它将起作用。

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

让我的希望有一段时间了,但最终没有为我工作。 – Fletch

+0

这个def可以在Windows 7上运行,我现在已经在大约10台不​​同的机器上安装了它,它似乎在所有这些机器上都能正常工作。我会再看看我的bat文件,并确保我没有错过任何东西 – 2potatocakes

+0

这不适用于64位Windows 7.我已经在Windows 7 x64企业版上使用ActiveMQ 5.4.3和5.5.1尝试了此操作。 您需要一个目前在社区版中不可用的64位包装器。 – Pada

1

我来到这里,因为我有:否则,如果你绝对坚持能够点击bat文件,如果您修改BAT文件,上面除了记得在这条线的,而不是从Win32到使用Win64上,将工作问题与ActiveMQ 5.5.1,但启动服务时发生不同的错误(类似'无法创建一个tmp文件夹')。

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

基本上,您突出部分必须手动两个文件夹创建:

{AMQ-HOME} /斌/的Win32 /工作 和 {AMQ-HOME} /斌/的Win32/TEMP

希望这会有所帮助。

+0

This是我的解决方案,虽然我不应该这样做国际海事组织。为什么ActiveMQ不为我创建它? – Quirijn

+0

@Quirijn我同意你,我认为这是一个错误。不是每个人都使用Windows ... – unludo

1

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

+0

声音像这是安装最新的ActiveMQ 5.7.0作为服务的主要问题:[link](http://activemq.2283324.n4.nabble.com/ActiveMQ-5-7-0-startup-error-wrapper- JAR-td4657797.html) – user1946713

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

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