【问题标题】:JBoss 7.2: Active Sessions CountJBoss 7.2:活动会话计数
【发布时间】:2014-04-22 20:03:27
【问题描述】:

如何获得 Jboss AS 7.2 上的活动会话计数(所有会话,而不是单一战争)?我深入寻找可以为我提供该信息的 MXBean,但我没有找到。有很多关于此的信息,但仅适用于旧版本。这看起来是一件容易的事,但找到答案却非常困难。

如果我可以通过另一种方式以编程方式获得它,那么 JMX 不是必须的。我只是不能修改旧项目来添加侦听器来检查。

【问题讨论】:

    标签: session jboss7.x jmx


    【解决方案1】:

    好吧,经过一番挖掘,我找到了一种使用 JBoss CLI 的方法(只需在谷歌上搜索一下它和称为 Detyped Management Model 的特殊语法)。考虑到这一点,只需在 CLI 中调用此命令:

    /deployment=<YOUR-EAR-NAME>.ear/subdeployment=<YOUR-WAR-NAME>.war/subsystem=\"web\"/:read-attribute(name=active-sessions)

    这样您就可以了解该特定战争的关联用户。这可以用不同的方式来寻找所有的战争,所以只是玩它。也有一个 API 可以以编程方式执行此操作。

    【讨论】:

    • 你能告诉我如何准确地调用那个命令吗? @以色列
    • @MaheshVarma,要使用它,请执行 /bin/jboss-cli.sh。以下是一些示例:JBoss CLI Recipes。不要忘记将您的 IP 作为参数传递(第一个示例说明了这一点)。
    • 谢谢!我能够看到活动的会话。但如果用户关闭浏览器窗口,那么它也被视为活动会话。如何过滤这个?我正在尝试获取当前正在使用我们的网络应用程序的在线用户列表。请帮助@IsraelFonseca
    • @MaheshVarma,默认情况下,当用户简单地关闭浏览器窗口时会话不会被破坏,我认为你不应该将当前用户作为指标。我认为 JSF 环境中的会话默认有 10 分钟持续时间,这将显示过去 10 分钟内有多少人在线。如果你真的想要这样,你将不得不实现一些 servlet 过滤器和疯狂的变通方法,以查看谁在特定时刻真正在线。
    • @MaheshVarma 您可以使用 websocket 并计算打开的套接字的数量 - 当用户关闭浏览器时它们会关闭
    猜你喜欢
    • 2011-03-19
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 2012-05-20
    • 2018-05-15
    • 1970-01-01
    • 2018-05-21
    • 2020-04-29
    相关资源
    最近更新 更多