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

标签 glassfish profiling jms monitoring

我目前在 Glassfish 上部署了一个 JavaEE 应用程序,我为其编写了一个负载测试,该测试可以在不到一小时的时间内(目前 - 崩溃速度改进即将到来)耗尽 JMS 连接池并使用以下命令破坏 Glassfish极其糟糕的消息

In-use connections equal max-pool-size and expired max-wait-time. Cannot allocate more connections.

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

最佳答案

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

它位于$GLASSFISH_HOME/mq/bin

尝试以下命令:

  • 列出您的所有 JMS 目的地
./imqcmd list dst
  • 打印经纪人信息
./imqcmd query brk
  • 显示统计信息(我想这就是您要找的)。统计信息默认每 5 秒刷新一次
./imqcmd metrics dst -t q -n jms/myQueue -m rts

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

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

关于glassfish - 如何在 Glassfish 中跟踪/监控打开/关闭的 JMS 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12911992/

相关文章:

java - 嵌入式代理 ActiveMQ 的配置

path - 我无法使用 Glassfish 部署 war 文件

dependency-injection - 我可以在 quartz 调度程序作业中使用 CDI 注入(inject)吗?

python - 分析 Tensorflow 估计器

lambda 表达式的 Java 堆转储分析

java - Camel JMS 代理在等待回复消息 20000 毫秒后发生超时

java - 无法解析引用本地 ejb-ref

java - org.glassfish.grizzly.http.ajp.AjpHandlerFilter.encodeHttpPacket(AjpHandlerFilter.java :282) when using Apache as load balancer for GF 5

ruby-on-rails - 如何分析我的 rspec 测试以找到最大的内存消耗?

Java EE 中的 JMS 和 JTA 事务