Search in sources :

Example 1 with InvalidMetadataException

use of org.springframework.jmx.export.metadata.InvalidMetadataException in project spring-framework by spring-projects.

the class MetadataMBeanInfoAssembler method populateMBeanDescriptor.

/**
	 * Adds descriptor fields from the {@code ManagedResource} attribute
	 * to the MBean descriptor. Specifically, adds the {@code currencyTimeLimit},
	 * {@code persistPolicy}, {@code persistPeriod}, {@code persistLocation}
	 * and {@code persistName} descriptor fields if they are present in the metadata.
	 */
@Override
protected void populateMBeanDescriptor(Descriptor desc, Object managedBean, String beanKey) {
    ManagedResource mr = this.attributeSource.getManagedResource(getClassToExpose(managedBean));
    if (mr == null) {
        throw new InvalidMetadataException("No ManagedResource attribute found for class: " + getClassToExpose(managedBean));
    }
    applyCurrencyTimeLimit(desc, mr.getCurrencyTimeLimit());
    if (mr.isLog()) {
        desc.setField(FIELD_LOG, "true");
    }
    if (StringUtils.hasLength(mr.getLogFile())) {
        desc.setField(FIELD_LOG_FILE, mr.getLogFile());
    }
    if (StringUtils.hasLength(mr.getPersistPolicy())) {
        desc.setField(FIELD_PERSIST_POLICY, mr.getPersistPolicy());
    }
    if (mr.getPersistPeriod() >= 0) {
        desc.setField(FIELD_PERSIST_PERIOD, Integer.toString(mr.getPersistPeriod()));
    }
    if (StringUtils.hasLength(mr.getPersistName())) {
        desc.setField(FIELD_PERSIST_NAME, mr.getPersistName());
    }
    if (StringUtils.hasLength(mr.getPersistLocation())) {
        desc.setField(FIELD_PERSIST_LOCATION, mr.getPersistLocation());
    }
}
Also used : InvalidMetadataException(org.springframework.jmx.export.metadata.InvalidMetadataException) ManagedResource(org.springframework.jmx.export.metadata.ManagedResource)

Aggregations

InvalidMetadataException (org.springframework.jmx.export.metadata.InvalidMetadataException)1 ManagedResource (org.springframework.jmx.export.metadata.ManagedResource)1