-
JMS et dispo application
Bonjour,
J'ai 2 applications qui doivent communiquer (2 JBoss distants). On envoie des ordres de la première application vers la seconde. Si la seconde ne réponds pas dans les 30 secondes, la première doit se mettre en indisponible le temps que la seconde soit à nouveau disponible. Le problème c'est que pendant les 30 secondes d'autres ordres peuvent être envoyés et il faut pas les perdre.
Je pensais utiliser un MDB dans la première appli pour envoyer les messages dans une file d'attente et que la seconde application soit réceptrice de la première. Si un message existe depuis 30 secondes dans la file d'attente il doit provoquer la mise en indisponibilité de la première et conserver la file d'attente de messages jusqu'à remise à dispo de la seconde et activation manuelle de la première pour reprendre le traitement des messages en attente.
Ma question est peut-on mettre un listener sur un temps de présence message afin de mettre en indispo la première application.
Je précise qu'on souhaite éviter un batch à déclenchement toutes les 30 secondes.
Merci de votre aide.
-
Dans JMS, tu as la notion de "durable subscriber" qui te permet d'envoyer un message à une application qui dort et qui récupérera les messages envoyés au moment où elle se réveillera.
Pas besoin alors d'endormir ta première application.
Regardes la doc ici http://docs.jboss.org/jbossas/jboss4....html#d0e12871
-
merci pour cette information je vais essayer de voir ça. Cependant, l'association des 2 applications est importante car il s'agit d'interactions très fortes et les processus de la seconde application doivent entraîner un arrêt de la première (c'est une contrainte forte).
Est-il possible de recevoir un message de non traitement d'un message depuis un temps donné sans avoir recours à un batch ?
-
Tu as toujours les appels synchrones avec Timeout