cd ~
mkdir installs
cd installs
mkdir fuse-message-broker
cd fuse-message-broker
wget http://repo.fusesource.com/maven2/com/iona/fuse/fuse-message-broker/5.3.1-02-00/fuse-message-broker-5.3.1-02-00-unix.bin
Após o término do download, vamos executar o instalador em modo console:
chmod +x fuse-message-broker-5.3-unix.bin
sudo sh fuse-message-broker-5.3-unix.bin -i console
Devemos executar o instalador com o comando sudo pois instalaremos o aplicativo na pasta /opt e é necessário ter permissão de escrita para instalar nesta pasta. O termo de licença será apresentado e devemos pressionar
O script começará a instalação e uma barra de progresso será exibida. Ao finalizar o instalador oferece a opção de salvar a configuração da instalação caso seja necessário executar uma instalação idêntica em outros servidores ou caso queira efetuar a mesma instalação novamente posteriormente. Digite Y caso queira salvar ou N caso não seja necessário.
Uma mensagem de sucesso será exibida contendo a pasta em que o software foi instalado. Pressione
quit
vamos colocar o usuário fuse-message-broker como owner da nossa pasta:
sudo chown fuse-message-broker /opt/fuse-message-broker-5.3.1 -R
Para configurar o software gerenciador de filas, devemos executar o seguinte comando:
cd /opt/fuse-message-broker-5.3.1/conf
sudo pico activemq.xml
Este arquivo contém algumas configurações para o servidor de filas. Todas as linhas são comentadas e aconselho a ler cada um dos comentários com paciência e pesquisar á respeito quando tiver alguma dúvida. O primeiro item que mudo na minha configuração é a seguinte:
<broker ... brokerName="localhost">
para:
<broker ... brokerName="myname-broker">
Vamos adicionar um usuário para executar inicializar o Fuse Message Broker com permissões limitadas e criar um diretório de logs para jogar a saída da inicialização do nosso broker:
sudo adduser --system fuse-message-broker
sudo -u fuse-message-broker mkdir /home/fuse-message-broker/logs
E vamos criar um script para inicialização da nossa instância como um serviço do ubuntu:
cd /etc/init.d/
sudo pico fuse-message-broker
E inserir o seguinte conteúdo dentro do arquivo:
#! /bin/sh
FUSEMESSAGEBROKER_HOME=/opt/fuse-message-broker-5.3.1
start(){
echo "Starting Fuse Message Broker 5.3.1
sudo -u fuse-message-broker sh ${FUSEMESSAGEBROKER_HOME}/bin/activemq > /home/fuse-message-broker/logs/out.log
}
stop(){
echo "Stopping Fuse Message Broker 5.3.1"
sudo -u fuse-message-broker sh ${FUSEMESSAGEBROKER_HOME}/bin/activemq-admin stop >> /home/fuse-message-broker/logs/out.log
sleep 60
}
restart(){
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: fuse-message-broker {start|stop|restart}"
exit 1
esac
exit 0
Para inicializar o nosso broker utilizamos o seguinte comando:
sudo service fuse-message-broker start
Para parar o mesmo utilizamos:
sudo service fuse-message-broker stop
Para acompanhar a saída da nossa instância (que não está sendo redirecionada para a saída padrão) devemos executar o seguinte comando:
tail -f /home/fuse-message-broker/logs/out.log
Futuramente configuraremos nosso fuse message broker para habilitar outros protocolos e otimizar seu desempenho, mas por enquanto tempo o broker rodando com as configurações padrões.
Referências:
http://fusesource.com/docs/broker/5.3/getting_started/index.html