0

如何创建一个应用程序来轮询 50 个 JMX URI 并将 mbeans 存储在 DB 中。我创建了一个类,它将连接到 jmx 服务器并获取 mbeans 值。我的问题是如何触发我创建的类和方法继续轮询。此外,我需要两个函数来随时启动和停止此轮询。

我可以使用什么 - Spring Scheduler、Spring Integration 以及如何或应该创建具有线程和无限循环的不同类。

4

2 回答 2

1

看看 Spring Integration 及其 JMX Tree Polling Channel Adapter

于 2016-01-13T13:58:23.223 回答
0

使用 Spring Scheduler(@Schedule注解)很容易拥有一个(例如)每分钟调用一次的方法。但是不可能*更改(禁用)该调度。

无论如何,您可以:

  • 直接使用quarz-framework,然后你可以改变调度,或者
  • 做一个肮脏(但容易)的黑客:

让调度程序运行,但禁用真正轮询方法的调用:

private volantile boolean pollingEnabled;  

@Schedule(fixedRate=1000)
public void pollTrigger() {
    if (pollingEnabled) {
        doPolling();
    }
}

*更准确:据我所知,没有简单的方法

于 2016-01-13T13:12:13.640 回答