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
o añade las siguientes reglas
1
2
firewall-cmd --zone=public --permanent --add-port=8161/tcp
firewall-cmd --reload

Referencias