private Map createValueMap(MBeanElement element) { HashMap valueMap = new HashMap(); // We need to set versions here because we can't get the mbean entry // outside the server. if (element.getVersions() != null && !element.getVersions().isEmpty()) valueMap.put(VERSIONS, element.getVersions()); // The date would be used to make a presentationString for this mbean. valueMap.put(DATE, new Date(System.currentTimeMillis())); // Context class loader for the MBean. valueMap.put(ServerConstants.CLASSLOADER, ctxClassLoader); return valueMap; }
/** * Install a mbean with mbean metadata<p> * * @param element the data parsed from the Mlet file * * @return mbean instance */ public ObjectInstance installMBean(MBeanElement element) throws MBeanException, ReflectionException, InstanceNotFoundException, MalformedObjectNameException { log.debug("Installing MBean: " + element); ObjectInstance instance = null; ObjectName elementName = getElementName(element); if (element.getVersions().isEmpty() || !server.isRegistered(elementName)) { if (element.getCode() != null) instance = createMBean(element); else if (element.getObject() != null) instance = deserialize(element); else throw new MBeanException(new IllegalArgumentException("No code or object tag")); } else instance = updateMBean(element); return instance; }
MLetVersion newVersion = new MLetVersion(element.getVersions());