Bonjour,
Je n’avais pas eu le temps de bien répondre à ce point.
La session courte doit le rester.
Il faut juste revoir le design pour invoker une Action asynchrone faite pour ça.
- Le traitement long doit être une méthode d’une action de l’objet métier qui le porte
- Cette action doit être déclarée comme asynchrone = lancée dans un thread à part.
Ensuite par code, votre objet externe public peut instancier l’objet et invoquer l’action.
getGrant().getTmpObjec("MyObject").invokeAction("myAction");
L’avantage d’une action asynchrone est de pouvoir se monitorer dans Exploitation / Taches asynchrones :
- Temps de traitement
- demander l’arrêt
- centraliser les logs de la méthode