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
1 |
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
1 |
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
1 2 3 4 5 6 7 |
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
1 |
/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
1 |
tar xvzf apache-activemq-5.15.8-bin.tar.gz -C /var |
renombramos para simplificar
1 2 |
cd /var mv apache-activemq-5.15.8/ /var/activemq/ |
Probamos a arrancarlo
1 |
./bin/activemq start |
Si todo va bien debería de salir algo parecido a
1 2 3 4 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[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
1 |
systemctl start activemq |
Añadirlo para que arranque en el inicio
1 |
systemctl enable activemq |
Comprobar su estado
1 |
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
1 |
systemctl disable firewalld |
1 2 |
firewall-cmd --zone=public --permanent --add-port=8161/tcp firewall-cmd --reload |