This content has been marked as final.
Show 1 reply
-
1. Re: expire all web sessions
mlybarger Jun 4, 2005 11:12 PM (in response to mlybarger)ok, i'll reply with my solution. running jboss.split will kill all sessions for the testWeb application:
<target name="jboss.session"> <jmx adapterName="jmx/rmi/RMIAdaptor" > <invoke target="jboss.web:type=Manager,path=/testWeb,host=localhost" operation="listSessionIds" property="some.property"> </invoke> </jmx> <echo> session ids:${some.property}</echo> </target> <target name="jboss.split" depends="jboss.session"> <script language="javascript"> <![CDATA[ importPackage(Packages.org.apache.tools.ant); importPackage(Packages.org.apache.tools.ant.taskdefs); var all_sessions = proj.getProperty("some.property"); echoMessage("all session ids " + ":" + all_sessions); var sessions = all_sessions.split(" "); for (var i = 0; i<sessions.length; i++) { echoMessage("session id " + i + ":" + sessions + ":"); runKillSession( sessions ); } function runKillSession( sessionid ) { var callTask = project.createTask("antcall"); callTask.setTarget("jboss.kill.session"); var param = callTask.createParam(); param.setName("expire.session"); param.setValue(sessionid); callTask.perform(); } function echoMessage( message ) { var echo = proj.createTask("echo"); echo.setMessage(message); echo.perform(); } ]]> </script> </target> <target name="jboss.kill.session"> <echo> ${expire.session} </echo> <jmx adapterName="jmx/rmi/RMIAdaptor" > <invoke target="jboss.web:type=Manager,path=/testWeb,host=localhost" operation="expireSession" property="some.property"> <parameter type="java.lang.String" arg="${expire.session}"/> </invoke> </jmx> </target>