diff --git a/dspace-api/src/main/java/org/dspace/event/EventManager.java b/dspace-api/src/main/java/org/dspace/event/EventManager.java index d53e90db71..03b2026e8c 100644 --- a/dspace-api/src/main/java/org/dspace/event/EventManager.java +++ b/dspace-api/src/main/java/org/dspace/event/EventManager.java @@ -284,14 +284,23 @@ public class EventManager { Context ctx = new Context(); - for (Iterator ci = ((Dispatcher) dispatcher).getConsumers() - .iterator(); ci.hasNext();) - { - ConsumerProfile cp = (ConsumerProfile) ci.next(); - if (cp != null) + try { + + for (Iterator ci = ((Dispatcher) dispatcher).getConsumers() + .iterator(); ci.hasNext();) { - cp.getConsumer().finish(ctx); + ConsumerProfile cp = (ConsumerProfile) ci.next(); + if (cp != null) + { + cp.getConsumer().finish(ctx); + } } + + ctx.complete(); + + } catch (Exception e) { + ctx.abort(); + throw e; } return; diff --git a/dspace-rest/src/main/java/org/dspace/rest/CollectionsResource.java b/dspace-rest/src/main/java/org/dspace/rest/CollectionsResource.java index 61fb79ae94..ea14074600 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/CollectionsResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/CollectionsResource.java @@ -355,7 +355,7 @@ public class CollectionsResource extends Resource workspaceItem.update(); // Index item to browse. - org.dspace.browse.IndexBrowse browse = new org.dspace.browse.IndexBrowse(); + org.dspace.browse.IndexBrowse browse = new org.dspace.browse.IndexBrowse(context); browse.indexItem(dspaceItem); log.trace("Installing item to collection(id=" + collectionId + ").");