java – 是否可以通过JMX使JBoss中的单个会话无效?

我们正在跟踪应用程序中的一些内存问题,并且我们可以看到问题似乎存在的会话大小.它只会影响某些会话,它们似乎会失控,并且我们希望能够或多或少地“手动”使这些会话无效以回收该内存.有没有办法通过JMX做到这一点?我们正在使用JBoss 4.5.2.

提前致谢.

解决方法:

答案是肯定的,你可以.

– 这将获得在JBoss中加载的Web模块MBean–

/opt/lib/jboss-4.2.3.GA/bin/twiddle.sh -s< - ServerIP - >:1099查询’jboss.web:*’| grep“type = Manager”

– 一旦你有了,你可以从那个MBean获得活跃的会话 –

/opt/lib/jboss-4.2.3.GA/bin/twiddle.sh -s 172.16.0.216:1099调用“< - MBean - >” listSessionIds

– 最后,一旦你有了这个列表,你就可以选出感兴趣的会话并使它过期 –

 /opt/lib/jboss-4.2.3.GA/bin/twiddle.sh -s< - ServerIP - >:1099调用“< - MBean - >” expireSession< - SessionID - >

你会替换< - ServerIP - >与服务器绑定的IP …它不一定是本地的.只要您可以访问端口1099,就可以远程运行.

&LT – 的MBean – &GT将被第一个查询的结果之一替换.

&LT – 的SessionID – &GT将被第二个命令中的一个会话ID替换.

您还可以将/opt/lib/jboss-4.2.3.GA/bin/twiddle.sh替换为机器上旋转的位置.它包含在JBoss中.

上一篇:java – 需要安装多少个Jolokia代理?


下一篇:java – Tomcat JMX连接 – 身份验证失败