Bir OSGi kapsayıcısında çalışan, Java 1.6 platform MBeans sunucusunu kullanıyorum.Yeni kaydedilen MB'leri algılama
Özellikle istatistik sayaçları ve olayları için MBeans'ı kullanma. Bunların uygulanması tek bir pakette, ancak diğer birçok grupta örneklendirildi. Her MBean, kendisini platform MBean sunucusuyla özdeşleştirir.
Sorun şu ki, JMX ile iliştirdiğimde ve MBeans için sorguladığımda, yalnızca şu anda kayıtlı olanları alıyorum ve bunlar örnekleninceye kadar kaydedilmeyecekler (ya da ilk önce statik sınıflar yoksa) erişim, ya da paket henüz başlamadı ya da sayaç ilk kullanıma kadar var olmayan bazı mantıkta derindir)
MBeans sunucusunda "kayıt" olaylarına abone olmanın bir yoluna ihtiyacım var. Ya da sunucuya yeni MBeans eklendiğinde başka bir yol belirleme yolu. Kaldırılan MB'lerin algılanması ek bir bonus olacaktır, ancak gerekli değildir.
Elimde olan tek çözüm temel olarak sunucuyu her 5 saniyede bir sorgulayan ve sonucu kaydedilmiş bir MBeans listesiyle karşılaştıran bir iş parçacığıdır ve bu oldukça çirkin.
Bunu yapmanın çok daha kolay bir yolu olduğunu umuyordum :( Belgelenmemiş bir API veya başka bir yerde bir yerde "yeni kayıtlar dinle" etkinliği gibi. – MarcB
Bu, ana sorununuzu çözmüyor: Henüz kaydedilmemiş olan MB'leri görmek. –
Eh, kayıtlı olmadıklarında onları görmek zorunda değilim (güzel olsa da). Kayıt olduklarında bunu öğrenmek yeterli olur. – MarcB