如何在Glassfish中跟踪/监控打开/关闭的JMS连接?

Rid*_*del 5 monitoring profiling jms glassfish

我目前在Glassfish上部署了一个JavaEE应用程序,我已经编写了一个负载测试,在不到一个小时的时间内(现在 - 崩溃的速度改进即将到来)耗尽JMS连接池并破坏Glassfish的疯狂坏消息

使用中的连接等于max-pool-size和expired max-wait-time.无法分配更多连接.

我想看看哪些JavaEE组件泄漏了JMS连接.对于内存,我可以使用分析器,我也可以将它用于JDBC连接.但是,跟踪打开/关闭的JMS连接以及创建它们但不释放它们的组件的最佳工具是什么?

小智 4

尝试使用imqcmd util 来监视您的 JMS 目标。它提供基本但有用的命令(列表、清除、创建...)

它位于$GLASSFISH_HOME/mq/bin

尝试以下命令:

  • 列出您的所有 JMS 目的地
./imqcmd 列出目标
  • 打印经纪人信息
./imqcmd 查询brk
  • 显示统计数据(我想这就是您正在寻找的)。统计信息默认每5秒刷新一次
./imqcmd 指标 dst -tq -n jms/myQueue -m rts

-m rts代表“消息费率”。有关其他指标信息,请参阅文档(./imqcmd -h ;-) )

注意:每个命令都会提示输入用户名和密码。admin/admin 是默认用户名/密码(!= asadmin 凭据)