Ce dépôt est basé sur le projet suivant: https://github.com/mgubaidullin/pam-archiver
Prototype RHPAM pour une solution d'archivage basée sur Red Hat Fuse
- Main PAM - Process Automation Manager pour les instances de processus actives
- AMQ - Plateforme de messagerie
- Fuse - Plateforme d'intégration
- Main Database - Base de données pour les instances de processus actives
- Archive PAM - Process Automation Manager pour les instances de processus archivées
- Archive Database - Base de données pour les instances de processus archivées
- Démarrage d'une instance du processus 'Archiver' avec le nombre de jours minimum depuis la date de fin du processus ( 0 pour archiver tous les processus)
- Le processus utilise la tâche de service JMSSend pour envoyer un message à l'utilitaire d'archivage Fuse
- Le processus attend un signal de l'utilitaire d'archivage pour continuer.
- Lors de la réception du signal, la tâchee Verify Result est créée avec les résultats d'archivage.
Les routes sont définies dans cette classe: PamArchiver
- Reception du message d'archivage
- Effectuer l'archivage
- Sélection de tous les processus terminés plus anciens que la valeur de days_limit définie par l'utilisateur
- Copie des processus sélectionnés vers la base de données de destination (avec l'approche UPSERT )
- Suppression des processus sélectionnés de la base de données principale
- Préparation des informations à retourner vers l'utilisateur
- Archivage de la table NodeInstanceLog
- Sélection de tous les noeuds correspondants aux processus sélectionnés
- Copie des noeuds sélectionnés vers la base de données de destination (avec l'approche UPSERT )
- Suppression des processus sélectionnés de la base de données principale
- Préparation des informations à retourner vers l'utilisateur.
- Archivage de la table VariableInstanceLog
- Sélection de toutes les variables correspondantes aux processus sélectionnés
- Copie des variables sélectionnées vers la base de données de destination (avec l'approche UPSERT )
- Suppression des variables sélectionnées de la base de données principale
- Préparation des informations à retourner vers l'utilisateur.
- Aggregation et préparation des résultats
- Envoie d'un signal au processus avec avec les résultats d'archivage en appelant l'API du Kie Server avec le composant Camel kie-server.
- Un usager et mot de passe avec les accès au Kie-Server est requis. Voir fichier archiver.properties
- La tâche est présentement assignée à l'usager rhpamAdmin, modifier le processus au besoin.
Pré-requis: Java 8 ou 11 et Maven 3.6+
- Installation de Jboss EAP 7.3
- Configuration de Jboss EAP 7.3
- Datasource principale avec le nom JNDI: java:/MainDS (ou modifier la classe Datasources.java
- Datasource de la BD archive avec le nom JNDI: java:/ArchiveDS
- Queue JMS Queue: archive-request avec le nom JNDI: java:/jms/queue/ArchiveRequest
- Installation de RHPAM sur Jboss EAP
- Installation de Fuse 7.8 sur Jboss EAP: Fuse EAP
- Démarrer Jboss EAP
- ./bin/standalone.sh -c standalone-full.xml
- Compiler et déployer PamArchiver
- mvn clean install -Pdeploy ou
- mvn compile package et copier target/pam-archiver.war dans le répertoire standalone/deployments/ de JBoss EAP
- Importer le processus ArchiverProcess vers RHPAM
- Dans le nouveau project RHPAM, configure la tâche de service JMSSendTask avec les paramêtres suivants: a. java:jboss/DefaultJMSConnectionFactory b. java:/jms/queue/ArchiveRequest
- Compiler et déployer le processus
- Démarrer une instance au besoin.