Java: Можем ли мы повторно использовать MBeanServerConnection без каких-либо проблем?

1
  1. Можно ли присвоить объект MBeanServerConnection статической переменной и повторное использование?
  2. Если да, то какой момент нам нужно вызвать метод JMXConnector.close()?

     public class MyClass
     {
         public static JMXConnector jmxc = . . .
         public static MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
    
         .........
    
    
         public logSomeJmxStats() 
         {
            mbsc.invoke(.....)
         }
    
         public updateSomeJmxStats() 
         {
            mbsc.invoke(.....)
         }
    }
    

Этот Java-класс используется Java-приложением, работающим как служба.

Теги:
jmx

1 ответ

1
Лучший ответ

Это из документации JMXConnector.getMBeanServerConnection:

Для данного JMXConnector и Subject два успешных вызова этого метода обычно возвращают один и тот же объект MBeanServerConnection, хотя это не требуется.

Поэтому я бы подумал, что вы можете безопасно его повторно использовать. Хотя вы можете быть более безопасными, не используя его повторно.

Вы должны позвонить близко, если никто не собирается использовать соединение снова. Этого может быть проще достичь, если вы не установите соединение в статическом поле, а в поле экземпляра. Поэтому, когда вы завершаете приложение, вы можете подключиться к нему, чтобы закрыть соединение.

  • 0
    Спасибо за быстрый ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню