Как установить ActiveMQ в качестве 64-разрядной службы на Windows? - PullRequest
9 голосов
/ 07 января 2011

Как мне обойти следующую ошибку? Есть ли способ скопировать 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 ]

17 голосов
/ 12 апреля 2011

Мне удалось успешно установить 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, как указано выше, за исключением того, что не забудьте использовать win64 в этой строке вместо win32:

"%ACTIVEMQ_HOME%\bin\win64\wrapper.exe"
4 голосов
/ 28 января 2011

Вы можете использовать Procrun, так как wrapper.dll для 64-битной версии не бесплатна.

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

Уже пробовали установку статьи в нашем производстве.Отлично работает!

1 голос
/ 04 января 2013

Если вы пытаетесь установить и запустить ActiveMQ 5.7.0 в качестве службы Windows, они забыли включить файл wrapper.jar в выпуск.Вам необходимо загрузить выпуск ActiveMQ 5.6.0, взять файл wrapper.jar из папки BIN этого выпуска и скопировать его в соответствующую папку BIN версии 5.7.0.Тогда это должно работать.Не забывайте, что вам нужно запустить скрипт установки службы от имени администратора (щелкните правой кнопкой мыши файл BAT, «Запуск от имени администратора»)

1 голос
/ 23 апреля 2012

Я прибыл сюда, поскольку у меня возникла проблема с ActiveMQ 5.5.1, но возникла другая ошибка при запуске службы (что-то вроде «не удалось создать папку tmp»).

Решение довольно простое.Я нашел это здесь: https://issues.apache.org/jira/browse/AMQ-2946

По сути, вам нужно вручную создать две папки:

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

Надеюсь, это поможет.

0 голосов
/ 07 февраля 2013

При использовании 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

Замените абсолютные пути во фрагменте собственными путями установки.

...