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.
Partimos de una distribución base de Centos 7 y lo primero que haremos será actulizar el sistema
yum update
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> Añadimos las varibles de entorno para JAVA, para ello 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</sh> extraemos los ficheros <sxh> tar xvzf apache-activemq-5.15.8-bin.tar.gz -C /var
renombramos para el directorio para simplificar el acceso
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')
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 firewalldo añade las siguientes reglas
firewall-cmd --zone=public --permanent --add-port=8161/tcp firewall-cmd --reload
Editar el fichero credential.properties y cambiar los vaolores que trae por defecto de
Reiniciar el servicio activemq para aplicar los cambios.