@Override public void notifyProducerRegistered(IStatsProducer<S> producer) { if (producer instanceof BuiltInProducer) return; List<S> stats = producer.getStats(); if (stats == null) return; for (IStats s : stats){ try{ MBeanUtil.getInstance().registerMBean(s, createName(producer.getProducerId(), s.getName())); } catch(Exception e){ log.warn("can't register "+s.getName()+" in "+producer.getProducerId()+", ignored.", e); } } }
@Override public void notifyProducerUnregistered(IStatsProducer<S> producer) { List<S> stats = producer.getStats(); if (stats == null) return; for (IStats s : stats){ try{ boolean isUnregistered = MBeanUtil.getInstance().unregisterMBean(createName(producer.getProducerId(), s.getName())); if(!isUnregistered) log.debug("can't unregister "+s.getName()+" in "+producer.getProducerId()+ ", MBean with such name is not registered"); }catch(Exception e){ log.warn("can't unregister "+s.getName()+" in "+producer.getProducerId()+", ignored.", e); } } }