Я открываю соединение JMX с использованием метода getMBeanServerConnection()
, а затем закрываю его после использования в блоке finally. И, для данного JMX-коннектора, 2 успешных звонка на getMBeanServerConnection()
обычно возвращает то же самое MBeanServerConnection
.Закрытие соединения JMX для параллельных операций
Некоторые из операций вызываются одновременно, и каждый из них вызывает getMBeanServerConnection()
. Но они получают ТАКОЕ соединение. И поэтому, когда первая операция завершается, оставшаяся операция завершится с ошибкой «Соединение закрыто».
Как я могу это решить? Должен ли я создавать несколько объектов коннектора и вызывать на них getMBeanServerConnection()
для получения разных соединений? Или мне нужно сделать этот метод синхронизированным (и снизить эффективность)?
'MBeanServerConnection' не имеет метода' close() '(http://download.oracle.com/javase/6/docs/api/javax/management/MBeanServerConnection.html) ... вы можете показать нам пример? – skaffman
Я вызываю метод close() на объекте JMXConnector (первоначально возвращаемый методом connect() JMXConnectionFactory) – Epitaph