【问题标题】:JMX with Play 2.XX frameworkJMX 与 Play 2.XX 框架
【发布时间】:2014-07-14 15:36:52
【问题描述】:

我正在使用 Play Framework (Scala) 构建我的应用程序,并且需要通过 JMX 公开一些内部管理工具。 将 JMX Mbeans 与 Play Framework 一起使用的推荐或最佳方式是什么。 我不使用 Spring。

【问题讨论】:

    标签: scala playframework playframework-2.0 jmx


    【解决方案1】:

    您可以定义一个global settings object 并在那里注册您的MBean。最小的例子:

    trait SampleMBean {
      def greetings: String
    }
    
    class Sample extends SampleMBean {
      override def greetings = "Hello!"
    }
    
    object Global extends GlobalSettings {
    
      lazy val mbeanServer: MBeanServer = ManagementFactory.getPlatformMBeanServer()
    
      override def onStart(app: Application): Unit = {
        mbeanServer.registerMBean(new Sample, new ObjectName("com.example:type=Sample"))
      }
    
      override def onStop(app: Application): Unit = {
        mbeanServer.unregisterMBean(new ObjectName("com.example:type=Sample"))
      }
    
    }
    

    请记住,onStart 将在向服务器发出第一个请求后调用,如果它在 DEV 模式下运行。

    【讨论】:

      猜你喜欢
      • 2016-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多