INT-786 metadataKey no longer REQUIRES a componentName, but a WARN-level message is logged if a name is not set

This commit is contained in:
Mark Fisher
2010-10-27 11:51:14 -04:00
committed by Chris Beams
parent 375c4634f6
commit 93a044f56d

View File

@@ -127,8 +127,18 @@ public class FeedEntryMessageSource extends IntegrationObjectSupport implements
this.metadataStore = new SimpleMetadataStore();
}
}
Assert.hasText(this.getComponentName(), "FeedEntryReaderMessageSource must have a name");
this.metadataKey = this.getComponentType() + "." + this.getComponentName() + "." + this.feedUrl;
StringBuilder metadataKeyBuilder = new StringBuilder();
if (StringUtils.hasText(this.getComponentType())) {
metadataKeyBuilder.append(this.getComponentType() + ".");
}
if (StringUtils.hasText(this.getComponentName())) {
metadataKeyBuilder.append(this.getComponentName() + ".");
}
else if (logger.isWarnEnabled()) {
logger.warn("FeedEntryMessageSource has no name. MetadataStore key might not be unique.");
}
metadataKeyBuilder.append(this.feedUrl);
this.metadataKey = metadataKeyBuilder.toString();
String lastTimeValue = this.metadataStore.get(this.metadataKey);
if (StringUtils.hasText(lastTimeValue)) {
this.lastTime = Long.parseLong(lastTimeValue);