CMS >> es un equivalente de JMS para C++, proveído por ActiveMQ, se descarga de acá.
Ahora, lindas noticias, lo que ud. acaba de bajar son los fuentes de ActiveMQ-CPP… tendremos que compilarlos >>.
(Nótese que estoy en Debian wheezy, lo que sigue podría ser distinto según su S.O.)
Partamos por descomprimir el paquete que bajamos
tar -xvf activemq-cpp-library-3.4.4-src.tar.gz
y situarnos en la carpeta así generada
cd activemq-cpp-library-3.4.4
Ejecutamos el siguiente bash para crear el script de configuración
./autogen.sh
el cual luego ejecutamos con los defaults
./configure
para que nos chequee si tenemos todas las dependencias.
Por ejemplo, yo no tengo las librerías APR
configure: WARNING: APR not found The Apache Portable Runtime (APR) library cannot be found. Please install APR on this system and supply the appropriate --with-apr option to 'configure' configure: error: no suitable APR found
éstas son utilizadas para las pruebas unitarias.
Pero Debian viene con libapr1 que es la v.1.4.6-3, la cual debiera estar bien… lo raro es que los archivos relevantes son /usr/lib/libapr-1.so.0 y /usr/lib/libapr-1.so.0.4.6, los cuales no sirven como referencia para – -with-apr.
Es que hay que instalar libaprq1-dev y libaprutil1-dev
apt-get install libapr1-dev libaprutil1-dev
y después (si estás viendo esto por primera vez aprovecha de instalar ésto >> para no tener que volver a hacer todo) ejecutar
./configure --with-apr=/usr/bin/apr-config
y pasa.
Después podemos compilar con
make
y ver a Morpheus peleando con Neo un rato.
Finalmente instalamos
sudo make install
Podemos compilar las pruebas con
make check
aunque el output no es muy decidor:
Making check in src/main make[1]: se ingresa al directorio `/home/roberto/Documentos/Miro/UPlanner/activemq-cpp-library-3.4.4/src/main' make[1]: No se hace nada para `check'. make[1]: se sale del directorio `/home/roberto/Documentos/Miro/UPlanner/activemq-cpp-library-3.4.4/src/main' Making check in src/examples make[1]: se ingresa al directorio `/home/roberto/Documentos/Miro/UPlanner/activemq-cpp-library-3.4.4/src/examples' make[1]: No se hace nada para `check'. make[1]: se sale del directorio `/home/roberto/Documentos/Miro/UPlanner/activemq-cpp-library-3.4.4/src/examples' make[1]: se ingresa al directorio `/home/roberto/Documentos/Miro/UPlanner/activemq-cpp-library-3.4.4' make[1]: No se hace nada para `check-am'. make[1]: se sale del directorio `/home/roberto/Documentos/Miro/UPlanner/activemq-cpp-library-3.4.4'
no parecieran haber errores. También hay pruebas de intgración… naa mentira, ése check no hizo nada. Debe ser porque no tengo CppUnit. Lo bajamos con
apt-get install libcppunit-1.12-1 libcppunit-dev
y volvemos a ejecutar todo. (Si lo está haciendo por primera vez, ¡bájelo junto con APR!). Y ahora sí se pone a compilar con
make check
Así que podemos situarnos en el directorio de tests y ejecutarlos.
cd src/test-integration ./activemq-test-integration
y efectivamente empieza a testear conexiones, la mayoría de las cuales da OK
activemq::test::openwire::OpenwireAsyncSenderTest::testAsyncSends. : OK
(pongo sólo el primero porque son decenas)
Nótese que esto es con un ActiveMQ corriendo independientemente.
Falta dilucidar si tiene que correr así o dentro de JBoss >>