Порты изменения ActiveMQ

Когда я пытаюсь запустить своего брокера ActiveMQ, я получаю сообщение об ошибке «Адрес уже используется»:

2015-01-17 18:41:32,828 | ERROR | Failed to start Apache ActiveMQ ([localhost, ID:Laptop-44709-1421516492312-0:1], java.io.IOException: Transport Connector could not be registered in JMX: Failed to bind to server socket: amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600 due to: java.net.BindException: Die Adresse wird bereits verwendet)

Я попытался проверить службу, работающую на порту 5672, с помощью netstat | grep, но по какой-то причине он не показывает pid. Поэтому я попытался изменить порт по умолчанию для amqp:

<!--
        The transport connectors expose ActiveMQ over a given protocol to
        clients and other brokers. For more information, see:

        http://activemq.apache.org/configuring-transports.html
    -->
    <transportConnectors>
        <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
        <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        <transportConnector name="amqp" uri="amqp://0.0.0.0:61617?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
</transportConnectors>

Однако, когда я пытаюсь запустить sudo /etc/init.d/activemq, ActiveMQ игнорирует мою конфигурацию и продолжает подключаться к уже используемому порту.

Есть идеи, почему?

Я настраивал ActiveMQ, следуя этому руководству: http://servicebus.blogspot.de/2011/02/installing-apache-active-mq-on-ubuntu.html


person Thyrel    schedule 17.01.2015    source источник
comment
используйте netstat -a -o -n, чтобы посмотреть pid   -  person Vihar    schedule 18.01.2015
comment
Начните с выяснения того, какой процесс использует порт. Скорее всего, вы обнаружите, что это очередной экземпляр AMQ. Поэтому постарайтесь выяснить, какой инстанс запущен, кто пишет лог и кто подхватывает вашу конфигурацию.   -  person Petter Nordlander    schedule 18.01.2015
comment
Скорее всего, ActiveMQ использует другой файл конфигурации, чем тот, который вы редактируете. Выяснить, какую конфигурацию использует ActiveMQ, может быть непросто, тем более что это может зависеть от того, как вы ее запускаете. Чтобы убедиться, что ActiveMQ использует редактируемый вами файл конфигурации, преднамеренно внесите синтаксическую ошибку в файл XML. Затем ActiveMQ пожалуется на это и не запустится — таким образом вы сможете убедиться, что отредактировали правильный файл и настроили порты оттуда.   -  person SirRichie    schedule 21.01.2015


Ответы (1)


Я столкнулся с проблемой с конфигами ActiveMQ (в частности, JMX), когда использовал симлинк в init.d в Ubuntu. ActiveMQ начал нормально работать после того, как я заменил симлинк скриптом вроде:

#! /bin/sh
ACTIVEMQ_HOME="/opt/activemq"

case "$1" in
start)
$ACTIVEMQ_HOME/bin/activemq start
;;
stop)
$ACTIVEMQ_HOME/bin/activemq stop
;;
restart)
$ACTIVEMQ_HOME/bin/activemq restart
;;
status)
$ACTIVEMQ_HOME/bin/activemq status
;;
*)
echo "Valid commands: start|stop|restat|status" >&2
;;
esac
exit 0
person Dmitry    schedule 17.03.2015