当前位置: 首页 > 面试题库 >

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

湛光明
2023-03-14
问题内容

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

提前致谢。


问题答案:

答案是可以的。

-这将Web模块MBeans加载到JBoss中-

/opt/lib/jboss-4.2.3.GA/bin/twiddle.sh -s <--ServerIP-->:1099 query 'jboss.web:*' | grep "type=Manager"

-一旦有了,您就可以从该MBean获得活动的会话-

/opt/lib/jboss-4.2.3.GA/bin/twiddle.sh -s 172.16.0.216:1099 invoke "<--MBean-->" listSessionIds

-最后,一旦有了该列表,就可以挑选出感兴趣的会话并将其过期-

/opt/lib/jboss-4.2.3.GA/bin/twiddle.sh -s <--ServerIP-->:1099 invoke "<--MBean-->" expireSession <--SessionID-->

您可以将<-ServerIP->替换为服务器绑定的ip …它不必是本地的。只要您可以访问端口1099,就可以远程运行它。

<-MBean->将替换为第一个查询的结果之一。

<-SessionID->将替换为第二个命令中的一个会话ID。

同样,您将/opt/lib/jboss-4.2.3.GA/bin/twiddle.sh替换为机器上twiddle的位置。它包含在JBoss中。



 类似资料:
  • 问题内容: 我正在使用softlayer go客户端 https://github.com/softlayer/softlayer- go 我无法关闭softlayer会话。我怎么做? 我已经使用API 创建了softlayer会话。参考:-https : //github.com/softlayer/softlayer- go/blob/master/session/session.go 问题答

  • 问题内容: 我需要以编程方式启动新的Java进程并动态设置JMX端口。所以不要这样做 我想做以下 但这不起作用。知道为什么吗? 问题答案: 在调用代码时,您已经错过了配置jmxremote连接器的机会。 您需要做的是创建您自己的rmi注册表和JMXConnectorServer来侦听rmi调用并将它们传递给MBeanServer。

  • weblogic是否通过Jmx公开指标,以便可以使用prometheus进行监控?监视weblogic服务器(线程、数据源…)的最佳解决方案是什么?

  • 问题内容: 我想清除Kubernetes命名空间中所有Pod中的缓存。我想向端点发送一个请求,然后该端点将向命名空间中的所有Pod发送HTTP调用以清除缓存。目前,我只能使用Kubernetes击中一个吊舱,我无法控制哪个吊舱会被击中。 即使负载均衡器设置为RR,连续击中Pod(n次,其中n是Pod的总数)也无济于事,因为其他一些请求可能会不断蔓延。 这里讨论了相同的问题,但是我找不到实现的解决方

  • 我计划开发一个基于web的聊天应用程序,它接收ReSTful请求,将它们转换为XMPP,并将它们发送到XMPP服务器。 在这种基于聊天的应用程序中使用WebSocket看起来很有希望,因为事件(或响应)可以异步传递。但是,如果我使用WebSocket作为从浏览器传输请求的底层协议,这仍然可以被视为ReSTful设计吗?如果是的话,URI、动词(GET、POST…)是怎样的,websocket消息中

  • 我正在开发一个应用程序,用户必须从列表中选择任意数量的国家,我必须通过多部分发送所选的名称。 但是,在所有的尝试中,我都得到了错误retrofit.retrofiterror:Part body不能为null。 我还提到,ChangeLog for refitfit提到“new:Support iterable and array参数使用OKHTTP的”,但是经过深入研究,我发现给定的示例相当混乱