扩展Spring的JMX支持 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-21
xception { this.modelMBeanInfo = modelMBeanInfo; notificationInfoMap = new NotificationInfoMap(modelMBeanInfo); super.setModelMBeanInfo(modelMBeanInfo); } public MBeanNotificationInfo[] getNotificationInfo() { return modelMBeanInfo.getNotifications(); } public void setManagedResource(Object managedBean, String type) throws MBeanException, RuntimeOperationsException, InstanceNotFoundException, InvalidTargetObjectTypeException { super.setManagedResource(managedBean, type); this.managedBean = managedBean; } protected void maybeSendMethodNotification( String type, String name) throws MBeanException { MBeanNotificationInfo info = notificationInfoMap. findNotificationInfo(type, name); if (info != null) { long timeStamp = System.currentTimeMillis(); String notificationType = ModelMBeanUtil. matchType(info, "." + type + "." + name); sendNotification(new Notification( notificationType, this, timeStamp, info.getDescription())); } } protected void maybeSendAttributeNotification( Attribute attribute) throws MBeanException, AttributeNotFoundException, InvalidAttributeValueException, ReflectionException { String name = attribute.getName(); MBeanNotificationInfo info = notificationInfoMap. findNotificationInfo("set", attribute.getName()); if (info != null) { Object oldValue = getAttribute(name); Object newValue = attribute.getValue(); long timeStamp = System.currentTimeMillis(); String notificationType = ModelMBeanUtil. matchType(info, ".set." + name); sendNotification(new AttributeChangeNotification( this, timeStamp, timeStamp, info.getDescription(), info.getName(), notificationType, oldValue, newValue)); } } public Object invoke( String name, Object[] args, String[] signature) throws MBeanException, ReflectionException { maybeSendMethodNotification("before", name); Object returnValue = super.invoke(name, args, signature); maybeSendMethodNotification("after", name); return returnValue; } public Object getAttribute(String name) throws MBeanException, AttributeNotFoundException, ReflectionException { try { Method method = ModelMBeanUtil.findGetMethod( modelMBeanInfo, managedBean, name); return method.invoke(managedBean, new Object[] {}); } catch (IllegalAccessException e) { throw new MBeanException(e); } catch (InvocationTargetException e) { throw new MBeanException(e); } } public void setAttribute(Attribute attribute) throws MBeanException, AttributeNotFoundException, InvalidAttributeValueException, ReflectionException { try { Method method = Mo |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于扩展Spring的JMX支持 - 编程入门网的所有评论