Skip to content

Commit

Permalink
Fixed bug with publishers. Clear out the cache after publish because …
Browse files Browse the repository at this point in the history
…the context is shared across batches.
  • Loading branch information
chenson42 committed Sep 26, 2008
1 parent f296ee9 commit effd095
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
Expand Up @@ -113,6 +113,7 @@ private void finalizeAndPublish(IDataLoaderContext ctx) {
if (logger.isDebugEnabled()) {
logger.debug("publishing text message -> " + msg);
}
ctx.getContextCache().remove(msg_CACHE);
publisher.publish(ctx, msg.toString());
}
}
Expand Down
Expand Up @@ -21,6 +21,7 @@

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
Expand Down Expand Up @@ -228,15 +229,18 @@ private String toXmlGroupId(IDataLoaderContext ctx, String[] data, String[] keys
private void finalizeXmlAndPublish(IDataLoaderContext ctx) {
Map<String, StringBuilder> ctxCache = getXmlCache(ctx);
Collection<StringBuilder> buffers = ctxCache.values();
for (StringBuilder xml : buffers) {
for (Iterator<StringBuilder> iterator = buffers.iterator(); iterator.hasNext();) {
StringBuilder xml = iterator.next();
xml.append("</");
xml.append(xmlTagNameToUseForGroup);
xml.append(">");
if (logger.isDebugEnabled()) {
logger.debug("Sending XML to IPublisher -> " + xml);
}
publisher.publish(ctx, xml.toString());
iterator.remove();
publisher.publish(ctx, xml.toString());
}

}

public void batchComplete(IDataLoader loader, IncomingBatchHistory hist) {
Expand Down

0 comments on commit effd095

Please sign in to comment.