Non, je passe par les opérations JMX offertes par Jonas
Voici le code utilisé :
Les imports pour les classes me concernant sont les suivantes :
1 2 3
| import org.objectweb.jonas.jmx.JmxService;
import org.objectweb.jonas.server.Server;
import org.objectweb.jonas.service.ServiceManager; |
ObjectName monON = new ObjectName(Server.getInstance().getJ2EEServer().getServerName()+":type=Manager,path="+request.getContextPath()+",host=localhost");
Ensuite, on récupère la liste des sessions à l'aide de la commande suivante
1 2
| // on list les sessions server(jonas) pour nettoyer celles non trouvé dans le context, dont celle qu'on vient d'enlever
String lst = (String)((JmxService)ServiceManager.getInstance().getJmxService()).getJmxServer().invoke(monON, "listSessionIds",null,null); |
Enfin, lorsqu'on a trouvé celles à supprimer, on fait
1 2 3
|
String[] signature = {new String("java.lang.String")};
((JmxService)ServiceManager.getInstance().getJmxService()).getJmxServer().invoke(monON, "expireSession",leIDaVirer,signature); |
Si quelqu'un a une solution, ou un équivalent, je suis preneur
Merci d'avance
Partager