[DS-707] Remove pointless synchronization

git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5464 9c30dcfa-912a-0410-8fc2-9e0234be79fd
This commit is contained in:
Graham Triggs
2010-10-19 16:42:57 +00:00
parent 2a330a00c9
commit f1fc1f534c

View File

@@ -116,45 +116,42 @@ public class BasicDispatcher extends Dispatcher
// some letters so RDF readers don't mistake it for an integer. // some letters so RDF readers don't mistake it for an integer.
String tid = "TX" + Utils.generateKey(); String tid = "TX" + Utils.generateKey();
synchronized(events) for (Iterator ei = events.iterator(); ei.hasNext();)
{ {
for (Iterator ei = events.iterator(); ei.hasNext();) Event event = (Event) ei.next();
event.setDispatcher(getIdentifier());
event.setTransactionID(tid);
if (log.isDebugEnabled())
log.debug("Iterating over "
+ String.valueOf(consumers.values().size())
+ " consumers...");
for (Iterator ci = consumers.values().iterator(); ci.hasNext();)
{ {
Event event = (Event) ei.next(); ConsumerProfile cp = (ConsumerProfile) ci.next();
event.setDispatcher(getIdentifier());
event.setTransactionID(tid);
if (log.isDebugEnabled()) if (event.pass(cp.getFilters()))
log.debug("Iterating over "
+ String.valueOf(consumers.values().size())
+ " consumers...");
for (Iterator ci = consumers.values().iterator(); ci.hasNext();)
{ {
ConsumerProfile cp = (ConsumerProfile) ci.next(); if (log.isDebugEnabled())
log.debug("Sending event to \"" + cp.getName()
+ "\": " + event.toString());
if (event.pass(cp.getFilters())) try
{ {
if (log.isDebugEnabled()) cp.getConsumer().consume(ctx, event);
log.debug("Sending event to \"" + cp.getName()
+ "\": " + event.toString());
try // Record that the event has been consumed by this
{ // consumer
cp.getConsumer().consume(ctx, event); event.setBitSet(cp.getName());
}
// Record that the event has been consumed by this catch (Exception e)
// consumer {
event.setBitSet(cp.getName()); log.error("Consumer(\"" + cp.getName()
} + "\").consume threw: " + e.toString(), e);
catch (Exception e)
{
log.error("Consumer(\"" + cp.getName()
+ "\").consume threw: " + e.toString(), e);
}
} }
} }
} }
} }