meta data de esta página
  •  

¡Esta es una revisión vieja del documento!


ActiveMQ

Activemq no es más que un software que ejerce de intermediario entre dos o más aplicaciones para intercambiar mensajes. A este tipo de arquitecturas son conocidas como MOM (Message Oriented Middleware).

En lugar de enviar los mensajes directamente entre cada una de las aplicaciones, implementamos un broker de mensajes , que será el que se encargue de la comunicación y transmisión de Mensajes entre las diferentes aplicaciones. Con esto podemos implementar una SOA (Arquitectura Orientada a Servicios) donde cada servicio es expuesto mediante una cola de mensajes.

Instalación

Partimos de una distribución base de Centos 7 y lo primero que haremos será actulizar el sistema

yum update 

Instalación de Java

Descargamos la última versión de java 8 disponible en este momento desde https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.rpm

wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/otn-pub/java/jdk/8u191-b12/jdk-8u191-linux-x64.rpm"

Instalamos el paquete de java que nos hemos descargado

yum -y localinstall jdk-8u191-linux-x64.rpm</sch>


editamos el fichero vi ~/.bash_profile y añadimos al final
<sxh>
export JAVA_HOME=/usr/java/jdk1.8.0_191-amd64/
export JRE_HOME=/usr/java/jdk1.8.0_191-amd64/jre

ejecutamos source ~/.bash_profile para cargar los cambios.

si ahora ejecutamos echos $JAVA_HOME debería de salir

/usr/java/jdk1.8.0_191-amd64/

Descargamos la últimar versión estable desde http://activemq.apache.org/download.html

wget http://www-eu.apache.org/dist/activemq/5.15.8/apache-activemq-5.15.8-bin.tar.gz

extraemos los ficheros

tar xvzf apache-activemq-5.15.8-bin.tar.gz -C /var

renombramos para simplificar

cd /var
mv apache-activemq-5.15.8/ /var/activemq/

Probamos a arrancarlo

./bin/activemq start

Si todo va bien debería de salir algo parecido a

INFO: Loading '/var/activemq//bin/env'
INFO: Using java '/usr/java/jdk1.8.0_191-amd64//bin/java'
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
INFO: pidfile created : '/var/activemq//data/activemq.pid' (pid '8540')

Creación del servicio en systemd

Aunque se puede arrancar y parar el ActiveMQ con los comando anteriores, lo recomendable es usar un servicio en systemd para iniciar el servicio al arrancar el servidor. Para ello creamos el siguiente fichero /etc/systemd/system/activemq.service

y añadimos lo siguiente

[Unit]
Description=ActiveMQ service
After=network.target

[Service]
Type=forking
ExecStart=/var/activemq/bin/activemq start
ExecStop=/var/activemq/bin/activemq stop
User=root
Group=root
Restart=always
RestartSec=9
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=activemq

[Install]
WantedBy=multi-user.target

Ahora podemos iniciarlo con

systemctl start activemq

Añadirlo para que arranque en el inicio

systemctl enable activemq

Comprobar su estado

systemctl status activemq

Si todo ha ido bien deberíamos de poder llegar con nuestro navegador web a la dirección http://ip_del_servidor:8161/admin

con el usuario y clave admin/admin

En caso de que no llegues revisa si tienes activado el firewall del equipo y si es así deshabilitado

systemctl disable firewalld
o añade las siguientes reglas
firewall-cmd --zone=public --permanent --add-port=8161/tcp
firewall-cmd --reload

Referencias