Abbiamo un'utilità per monitorare le directory e intraprendere azioni quando i file appaiono in quelle directory. È in java e assume la forma di un jar autonomo che avvia diversi thread all'avvio:
- Un thread periodicamente (ogni minuto circa) controlla le nuove istruzioni su quali directory monitorare.
- Un altro set di thread controlla periodicamente ciascuna delle directory monitorate. I nuovi file vengono inseriti in una coda di notifica.
- Un altro set di thread gestisce la coda di notifica ed esegue azioni per ogni nuovo file.
Ora, i poteri che vogliono reimplementare questa utility all'interno di JBPM . L'obiettivo principale è consentire l'arrivo dei file per avviare i flussi di lavoro all'interno di JBPM. Gli obiettivi secondari sono rendere il processo più altamente disponibile e forse semplificare la distribuzione facendolo girare all'interno di Jboss piuttosto che come utility indipendente.
Ho esperienza passata con WebSphere Process Server - il sistema BPM di IBM - ma JBPM è completamente nuovo per me. Sto facendo fatica a vedere come ricreare questo programma come un insieme di processi JBPM, e non mi è nemmeno chiaro che JBPM sia lo strumento giusto per la logica di basso livello di lettura di directory ed elaborazione di elenchi di file.
Potrei scrivere un semplice processo aziendale in una sola fase che chiama semplicemente nel punto di ingresso per la vecchia utilità di monitoraggio. Con più lavoro, immagino di poter scomporre la vecchia logica in un paio di processi aziendali diversi che si chiamano a vicenda. Ho difficoltà a vedere il punto, però. A un livello più pratico, l'utility dovrebbe avviarsi automaticamente - senza essere chiamata da nulla - e non sono stato in grado di capire come farlo per qualcosa di distribuito all'interno di jboss.
Devo tornare indietro a questo requisito per utilizzare JBPM? Oppure prendilo e prendi il codice?