/* * (non-Javadoc) * * @see * javax.management.DynamicMBean#setAttributes(javax.management.AttributeList * ) */ @Override public AttributeList setAttributes(final AttributeList attributes) { assert (attributes != null); RifidiService service = target.get(); if (service != null) { service.setAttributes(attributes); } // keep track of changed attributes since there might be an error AttributeList changedAttributes = new AttributeList(); for (Attribute attribute : attributes.asList()) { String attrName = attribute.getName(); Integer pos = nameToPos.get(attrName); if (pos == null) { logger.error("Error when trying to set " + attribute.getName()); } else { this.attributes.set(pos, attribute); changedAttributes.add(this.attributes.get(pos)); } } notifierService.attributesChanged(getServiceID(), (AttributeList) changedAttributes); return (AttributeList) changedAttributes.clone(); }
/** * Sets the values of several attributes of the Dynamic MBean, and returns the list of attributes * that have been set. */ public AttributeList setAttributes(AttributeList attributes) { // Check attributes is not null to avoid NullPointerException later on if (attributes == null) { throw new RuntimeOperationsException( new IllegalArgumentException("AttributeList attributes cannot be null"), "Cannot invoke a setter of " + dClassName); } AttributeList resultList = new AttributeList(); // if attributeNames is empty, nothing more to do if (attributes.isEmpty()) return resultList; // for each attribute, try to set it and add to the result list if successfull for (Iterator i = attributes.iterator(); i.hasNext(); ) { Attribute attr = (Attribute) i.next(); try { setAttribute(attr); String name = attr.getName(); Object value = getAttribute(name); resultList.add(new Attribute(name, value)); } catch (JMException e) { e.printStackTrace(); } catch (RuntimeException e) { e.printStackTrace(); } } return (resultList); }
/** @see DynamicMBean#setAttributes */ public AttributeList setAttributes(AttributeList attributes) { /* Sanity checking. */ if (attributes == null) { throw new IllegalArgumentException("attribute list can't be null"); } /* Set each attribute specified. */ AttributeList results = new AttributeList(); for (int i = 0; i < attributes.size(); i++) { Attribute attr = (Attribute) attributes.get(i); try { /* Set new value. */ jeHelper.setAttribute(targetEnv, attr); /* * Add the name and new value to the result list. Be sure * to ask the MBean for the new value, rather than simply * using attr.getValue(), because the new value may not * be same if it is modified according to the JE * implementation. */ String name = attr.getName(); Object newValue = jeHelper.getAttribute(targetEnv, name); results.add(new Attribute(name, newValue)); } catch (Exception e) { e.printStackTrace(); } } return results; }
/** Enables the to get the values of several attributes of the Dynamic MBean. */ public AttributeList getAttributes(String[] attributeNames) { // Check attributeNames is not null to avoid NullPointerException later on if (attributeNames == null) { throw new RuntimeOperationsException( new IllegalArgumentException("attributeNames[] cannot be null"), "Cannot invoke a getter of " + dClassName); } AttributeList resultList = new AttributeList(); // if attributeNames is empty, return an empty result list if (attributeNames.length == 0) return resultList; // build the result attribute list for (int i = 0; i < attributeNames.length; i++) { try { Object value = getAttribute((String) attributeNames[i]); resultList.add(new Attribute(attributeNames[i], value)); } catch (JMException e) { e.printStackTrace(); } catch (RuntimeException e) { e.printStackTrace(); } } return (resultList); }
/** * Makes it possible to get the values of several attributes of the MBeanServerDelegate. * * @param attributes A list of the attributes to be retrieved. * @return The list of attributes retrieved. */ public AttributeList getAttributes(String[] attributes) { // If attributes is null, the get all attributes. // final String[] attn = (attributes == null ? attributeNames : attributes); // Prepare the result list. // final int len = attn.length; final AttributeList list = new AttributeList(len); final boolean dbg = logger.finerOn(); // Get each requested attribute. // for (int i = 0; i < len; i++) { try { final Attribute a = new Attribute(attn[i], getAttribute(attn[i])); list.add(a); } catch (Exception x) { // Skip the attribute that couldn't be obtained. // if (dbg) { logger.finer("getAttributes", "Attribute " + attn[i] + " not found: " + x); logger.finest("getAttributes", x); } } } // Finally return the result. // return list; }
@Override public int getLocalSize() { if (nc != null) { synchronized (this) { if (mBeanServer == null || jmxCacheName == null) { int nodeId = CacheFactory.getCluster().getLocalMember().getId(); jmxCacheName = String.format(CACHE_JMX_NAME_TEMPLATE, serviceName, cacheName, nodeId); mBeanServer = MBeanHelper.findMBeanServer(); } } try { AttributeList list = mBeanServer.getAttributes( new ObjectName(jmxCacheName), new String[] {"Units", "UnitFactor"}); return ((Integer) ((Attribute) list.get(0)).getValue()) * ((Integer) ((Attribute) list.get(1)).getValue()); } catch (Exception e) { log.warn("Failed to retrieve JMX info from object " + jmxCacheName + "\n" + e); return -1; } } else { log.info("Cache is not available."); return -1; } }
/* ------------------------------------------------------------ */ public AttributeList getAttributes(String[] names) { AttributeList results = new AttributeList(names.length); for (int i = 0; i < names.length; i++) { try { results.add(new Attribute(names[i], getAttribute(names[i]))); } catch (Exception e) { LOG.warn(Log.EXCEPTION, e); } } return results; }
public synchronized AttributeList getAttributes(String[] names) { AttributeList al = new AttributeList(); for (String name : names) { Attribute attr = getNamedAttribute(name); if (attr != null) { al.add(attr); } else { log.warn("Did not find attribute " + name); } } return al; }
@Override public AttributeList getAttributes(final String[] attributes) { final AttributeList list = new AttributeList(); for (final String n : attributes) { try { list.add(new Attribute(n, getAttribute(n))); } catch (final Exception ignore) { // no-op } } return list; }
public AttributeList getAttributes(String[] names) { AttributeList list = new AttributeList(); for (int i = 0; i < names.length; i++) { try { list.add(new Attribute(names[i], this.getAttribute(names[i]))); } catch (Exception e) { e.printStackTrace(); } } return list; }
private AttributeList getAttributes(ObjectName objName, String[] attrNames) throws InstanceNotFoundException, ReflectionException, IOException { final NameValueMap values = getCachedAttributes(objName, new TreeSet<String>(Arrays.asList(attrNames))); final AttributeList list = new AttributeList(); for (String attrName : attrNames) { final Object value = values.get(attrName); if (value != null || values.containsKey(attrName)) { list.add(new Attribute(attrName, value)); } } return list; }
public final AttributeList getAttributes(String[] attributes) { final AttributeList result = new AttributeList(attributes.length); for (String attrName : attributes) { try { final Object attrValue = getAttribute(attrName); result.add(new Attribute(attrName, attrValue)); } catch (Exception e) { // OK: attribute is not included in returned list, per spec // XXX: log the exception } } return result; }
/* * (non-Javadoc) * * @see * javax.management.DynamicMBean#setAttribute(javax.management.Attribute) */ @Override public void setAttribute(final Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException { assert (attribute != null); RifidiService service = target.get(); if (service != null) { service.setAttribute(attribute); } attributes.set(nameToPos.get(attribute.getName()), attribute); notifierService.attributesChanged(getServiceID(), (AttributeList) attributes.clone()); }
private static boolean checkAttrs(String what, AttributeList attrs) { if (attrs.size() != 1) { System.out.println( "TEST FAILS: list returned by " + what + " does not have size 1: " + attrs); return false; } Attribute attr = (Attribute) attrs.get(0); if (!"Exotic".equals(attr.getName())) { System.out.println("TEST FAILS: " + what + " returned wrong " + "attribute: " + attr); return false; } return true; }
@Override public AttributeList setAttributes(final AttributeList attributes) { final AttributeList list = new AttributeList(); for (final Object o : attributes) { final Attribute attr = (Attribute) o; try { setAttribute(attr); list.add(attr); } catch (final Exception ignore) { // no-op } } return list; }
public final AttributeList setAttributes(AttributeList attributes) { final AttributeList result = new AttributeList(attributes.size()); for (Object attrObj : attributes) { // We can't use AttributeList.asList because it has side-effects Attribute attr = (Attribute) attrObj; try { setAttribute(attr); result.add(new Attribute(attr.getName(), attr.getValue())); } catch (Exception e) { // OK: attribute is not included in returned list, per spec // XXX: log the exception } } return result; }
/* * (non-Javadoc) * * @see javax.management.DynamicMBean#getAttributes(java.lang.String[]) */ @Override public AttributeList getAttributes(String[] attributes) { assert (attributes != null); AttributeList ret = new AttributeList(); Set<String> attribNames = new HashSet<String>(); for (int count = 0; count < attributes.length; count++) { attribNames.add(attributes[count]); } for (Attribute attr : this.attributes.asList()) { if (attribNames.contains(attr.getName())) { ret.add(attr); } } return ret; }
@Override public AttributeList getAttributes(String[] attributes) { updateJmxCache(); synchronized (this) { AttributeList ret = new AttributeList(); for (String key : attributes) { Attribute attr = attrCache.get(key); if (LOG.isDebugEnabled()) { LOG.debug(key + ": " + attr.getName() + "=" + attr.getValue()); } ret.add(attr); } return ret; } }
public AttributeList getAttributes(String[] names) { final AttributeList list = new AttributeList(); for (int i = 0; i < names.length; i++) { try { final Attribute a = new Attribute(names[i], this.getAttribute(names[i])); list.add(a); } catch (Exception e) { if (logger.isLoggable(Level.FINEST)) { logger.finest("Error while accessing an attribute named: " + names[i]); } // The exception SHOULD BE squelched per the contract of this method } } return (list); }
@Override public AttributeList getAttributes(String[] arg0) { AttributeList resultList = new AttributeList(); if (arg0.length == 0) { return resultList; } for (int i = 0; i < arg0.length; i++) { try { Object Value = getAttribute(arg0[i]); resultList.add(new Attribute(arg0[i], Value)); } catch (Exception e) { e.printStackTrace(); } } return resultList; }
/* ------------------------------------------------------------ */ public AttributeList setAttributes(AttributeList attrs) { log.debug("setAttributes"); AttributeList results = new AttributeList(attrs.size()); Iterator iter = attrs.iterator(); while (iter.hasNext()) { try { Attribute attr = (Attribute) iter.next(); setAttribute(attr); results.add(new Attribute(attr.getName(), getAttribute(attr.getName()))); } catch (Exception e) { log.warn(LogSupport.EXCEPTION, e); } } return results; }
/* * (non-Javadoc) * * @see org.rifidi.edge.configuration.Configuration#getAttributeNames() */ @Override public String[] getAttributeNames() { Set<String> names = new HashSet<String>(); for (Attribute attr : attributes.asList()) { names.add(attr.getName()); } return names.toArray(new String[0]); }
public synchronized AttributeList setAttributes(AttributeList list) { AttributeList results = new AttributeList(); for (int i = 0; i < list.size(); i++) { Attribute attr = (Attribute) list.get(i); if (setNamedAttribute(attr)) { results.add(attr); } else { if (log.isWarnEnabled()) { log.warn( "Failed to update attribute name " + attr.getName() + " with value " + attr.getValue()); } } } return results; }
/** @see DynamicMBean#getAttributes */ public AttributeList getAttributes(String[] attributes) { /* Sanity checking. */ if (attributes == null) { throw new IllegalArgumentException("Attributes cannot be null"); } /* Get each requested attribute. */ AttributeList results = new AttributeList(); for (int i = 0; i < attributes.length; i++) { try { String name = attributes[i]; Object value = jeHelper.getAttribute(targetEnv, name); results.add(new Attribute(name, value)); } catch (Exception e) { e.printStackTrace(); } } return results; }
/* * (non-Javadoc) * * @see javax.management.DynamicMBean#getAttribute(java.lang.String) */ @Override public Object getAttribute(final String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException { assert (attribute != null); for (Attribute attr : attributes.asList()) { if (attribute.equals(attr.getName())) { return attribute; } } throw new AttributeNotFoundException(); }
@Override public long[] getFileDecriptorInfo() { MBeanServer mbsc = MBeans.getMBeanServer(); AttributeList attributes; try { attributes = mbsc.getAttributes( new ObjectName("java.lang:type=OperatingSystem"), new String[] {"OpenFileDescriptorCount", "MaxFileDescriptorCount"}); List<Attribute> attrList = attributes.asList(); long openFdCount = (Long) attrList.get(0).getValue(); long maxFdCount = (Long) attrList.get(1).getValue(); long[] fdCounts = {openFdCount, maxFdCount}; return fdCounts; } catch (Exception e) { LogFactory.getLog(SdkMBeanRegistrySupport.class) .debug("Failed to retrieve file descriptor info", e); } return null; }
AttributeList getAttributes(ObjectName name, String[] attributes) throws InstanceNotFoundException, ReflectionException { final ResourceAndRegistration reg = getRootResourceAndRegistration(); final PathAddress address = resolvePathAddress(name, reg); if (address == null) { throw MESSAGES.mbeanNotFound(name); } final ResourceAccessControl accessControl = accessControlUtil.getResourceAccessWithInstanceNotFoundExceptionIfNotAccessible( name, address, false); AttributeList list = new AttributeList(); for (String attribute : attributes) { try { list.add( new Attribute(attribute, getAttribute(reg, address, name, attribute, accessControl))); } catch (AttributeNotFoundException e) { throw new ReflectionException(e); } } return list; }
private synchronized NameValueMap getCachedAttributes(ObjectName objName, Set<String> attrNames) throws InstanceNotFoundException, ReflectionException, IOException { NameValueMap values = cachedValues.get(objName); if (values != null && values.keySet().containsAll(attrNames)) { return values; } attrNames = new TreeSet<String>(attrNames); Set<String> oldNames = cachedNames.get(objName); if (oldNames != null) { attrNames.addAll(oldNames); } values = new NameValueMap(); final AttributeList attrs = conn.getAttributes(objName, attrNames.toArray(new String[attrNames.size()])); for (Attribute attr : attrs.asList()) { values.put(attr.getName(), attr.getValue()); } cachedValues.put(objName, values); cachedNames.put(objName, attrNames); return values; }
/** * Set the service that this configuration wraps * * @param target the target to set */ public void setTarget(final RifidiService target) { if (this.target.compareAndSet(null, target)) { if (target != null) { // get the whole list of attributes from the target as we might // only // have a partial list from the config file target.setAttributes(attributes); // keep a local clone attributes = (AttributeList) target.getAttributes().clone(); nameToPos = new HashMap<String, Integer>(); List<Attribute> attrs = attributes.asList(); if (target instanceof AbstractSensor<?>) { for (SessionDTO sessionDTO : sessionDTOs.keySet()) { try { ((AbstractSensor<?>) target).createSensorSession(sessionDTO); // test to see if the session should be // restarted if (shouldStartSession(sessionDTO)) { // if it should, restart it restartSession((AbstractSensor<?>) target, sessionDTO); } } catch (CannotCreateSessionException e) { logger.error("Cannot Create Session ", e); } catch (Exception e) { logger.error("Cannot restart session ", e); } } } for (int count = 0; count < attributes.size(); count++) { nameToPos.put(attrs.get(count).getName(), count); } jmxService.publish(this); return; } jmxService.unpublish(this); return; } // if the value was already set we got a problem logger.warn("Tried to set the target but was already set."); }
@SuppressWarnings("unused") public AttributeList setAttributes(AttributeList attributes) { Attribute[] atts = (Attribute[]) attributes.toArray(); AttributeList list = new AttributeList(); for (int i = 0; i < atts.length; i++) { Attribute a = atts[i]; try { this.setAttribute(a); } catch (Exception e) { e.printStackTrace(); } } // for return attributes; }