Mostrando postagens com marcador Gerenciador de Filas. Mostrar todas as postagens
Mostrando postagens com marcador Gerenciador de Filas. Mostrar todas as postagens

segunda-feira, 12 de julho de 2010

Como criar novos tópicos e novas filas na inicialização do Fuse Message Broker v5.3

Previamente abordamos a instalação do Fuse Message Broker e como configurá-lo para inicialização através de serviço do Ubuntu. Neste novo artigo abordaremos como criar um novo destino de mensagens para o nosso message broker previamente instalado. Existem duas possibilidades para gerar um novo destino de mensagens no Fuse Message Broker. Uma delas é utilizar a criação em tempo de execução, e esta pode ser executada através de:

- chamada a createQueue() através de uma sessão JMS.
- criar uma instância de ActiveMQTopic ou ActiveMQQueue e registrar como um recurso JNDI para o seu servidor.


Ou podemos determinar que destinos serão criados ao inicializarmos a ferramenta (se configurado conforme artigo anterior, através do comando sudo service fuse-message-broker start). Para configurar uma fila ou um tópico seguindo o segundo exemplo devemos alterar a configuração do arquivo activemq.xml. Este arquivo se encontra na pasta conf dentro do caminho de instalação escolhido para a ferramenta. Seguiremos os caminhos especificados durante a nossa instalação demonstrada no artigo anterior:

cd /opt/fuse-message-broker-5.3.1/conf
sudo pico activemq.xml


E devemos inserir o seguinte conteúdo:

<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
...
<broker xmlns="http://activemq.apache.org/schema/core">
...
<destinations>
<queue physicalName="FOO.BAR" />
<topic physicalName="SOME.TOPIC" />
</destinations>
...
</broker>
</beans>


com esta configuração dizemos que ao inicializar o message broker, criaremos um tópico denominado SOME.TOPIC e uma fila denominada FOO.BAR.

Referência
http://activemq.apache.org/how-do-i-create-new-destinations.html
http://activemq.apache.org/configure-startup-destinations.html

quarta-feira, 30 de junho de 2010

Instalando o Fuse Message Broker v5.3 no Ubuntu 10.04 LTS

Para instalar o fuse message broker v5.3 no Ubuntu 10.04 LTS inicialmente devemos efetuar o download do arquivo de instalação. Para isso executamos os seguintes comandos:

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 até que este seja finalizado. Quando este terminar, devemos aceitar os termos e então será oferecido o seguinte caminho de instalação /opt/progress/fuse-message-broker-5.3.1-02-00 (ou algo semelhante dependendo da sua versão). Eu gosto de mudar esta estrutura para facilitar meus scripts para /opt/fuse-message-broker-5.3.1.

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 para retornar ao prompt. É válido ressaltar que a qualquer momento durante a instalação podemos inserir o comando de desistência:

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