7.4 ActiveMQ - Volubis

V7R40

ActiveMQ

Apache ActiveMQ est un courtier (broker) de messages open source écrit en Java avec un client complet de Java Message Service. Il fournit des fonctionnalités pour les entreprises , comme de simplifier et encourager la communication des applications par messages Voir définition Wikipédia (anglais)

  • compatible JMS (java message services) 1.1
  • support des protocoles d'accès
    • OpenWire
    • STOMP
    • MQTT
    • AMQP,
    • REST (voir en fin de cours)
    • WebSockets

Le produit est installé par YUM depuis ACS >

Confirmez, et c'est parti

Comme tous les produits Open source, activeMQ est installé dans /QOpenSys/pkgs/bin, /QOpenSys/pkgs/lib

démarrons, par start regardez, par netstat, il doit y avoir un serveur sur le port 61616

la config se trouve ici (/QOpenSys/pkgs/lib/conf/activemq.xml)

remarquez les protocoles implémentés, et l'importation d'un fichier jetty.xml

ce dernier est moteur de servlet entièrement basé sur Java Ou nous constatons :

  • qu'un serveur est actif sur le port 8161
  • que l'on peut se connecter admin / admin en cliquant sur Manage ActiveMQ Broker (il faut se logger) on peut même envoyer des messages de test
  • ou tester avec node-red
    • installez lemodule stomp
    • connectez le comme cible
    • dans la source indiquez le message et /queue/<le nom de la queue>
    • et voilà
    • Pour une utilisation "cliente", vous pouvez
      • Voir le projet de Mihael Schmit d'implémentation de STOMP en RPG : https://bitbucket.org/m1hael/stomp/src/master/
      • Utiliser les interfaces REST
        • CURL curl -u admin:admin -d "body=message" http://localhost:8161/api/message/TEST?type=queue
        • si vous n'indiquez pas type=queue, par défaut ActiveMQ créé un "topic", sauf à paramétrer le serveur différement.
        • TEST est le nom de la queue
        • SQL
        Values CAST(systools.httpPOSTCLOB('http://as400:8161/api/message/TEST?type=queue' , '<header name="Authorization" value="Basic ' CONCAT systools.base64encode(cast('admin:admin' as VARCHAR(32) CCSID 1208)) CONCAT '"/>' , 'messageSQL') as varchar(200) )

©AF400

Tag » Activemq Definition