1

有没有一种简单的方法可以确定上次启动 websphere 集群的时间(不是像涟漪启动那样的单个节点,我需要弄清楚应用程序何时完全关闭)

我想有一些方法可以通过在数据库中写入每个节点的启动时间并比较时间来实现这一点,但也许有一种简单的方法可以使用 mbean 吗?

4

1 回答 1

0

根据要求,至少有几种方法可以解决您的问题。如果您需要有关以下任何解决方案的更多详细信息,请尝试将它们写下来。

连接到 DMgr 的 JMX 连接器以侦听 JMX 通知的单独进程

此处列出了服务器 MBean 发送的通知:http: //pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.javadoc.doc%2Fweb%2FmbeanDocs% 2FServer。 html(请参阅“从 MBean 有状态继承的通知”部分)。

优点

  • 无需修改应用程序
  • 没有投票

缺点

  • 如果 DMgr 已关闭,您将不会收到任何通知
  • 如果那个额外的进程崩溃(或根本没有启动),你最终会在你的数据中出现很大的空白
  • 需要具有“监控”角色的额外用户帐户

同样,一个单独的进程连接到 DMgr 的 JMX 连接器并查询服务器的 JVM 的“stats”属性。

WAS 中的默认 PMI 配置将返回“UpTime”统计信息,它将告诉您特定服务器运行了多长时间。

JVM MBean 记录在这里: http ://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.javadoc.doc%2Fweb%2FmbeanDocs%2FJVM.html

“stat”属性中返回的统计信息实现了JVMStats接口:http ://docs.oracle.com/javaee/5/api/javax/management/j2ee/statistics/JVMStats.html

优点

  • 无需修改应用程序

缺点

  • 如果 DMgr 已关闭,您将不会收到任何通知
  • 轮询
  • 需要具有“监控”角色的额外用户帐户

应用程序中的额外组件。

有一些注册应用程序组件的方法,以便 WAS 向它们发送启动/关闭事件。

优点

  • 无需针对 JMX API 编写任何代码
  • DMgr 的可用性被排除在外

缺点

  • 您必须能够重建(或至少重新打包)应用程序;如果您不是开发团队的成员,或者您从第三方收到应用程序,这种方法可能不适合
于 2012-10-17T20:56:49.067 回答