You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2015/10/03 01:44:31 UTC
svn commit: r1706506 -
/sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockEventAdmin.java
Author: sseifert
Date: Fri Oct 2 23:44:31 2015
New Revision: 1706506
URL: http://svn.apache.org/viewvc?rev=1706506&view=rev
Log:
SLING-5088 properly shutdown executor service in MockEventAdmin
Modified:
sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockEventAdmin.java
Modified: sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockEventAdmin.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockEventAdmin.java?rev=1706506&r1=1706505&r2=1706506&view=diff
==============================================================================
--- sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockEventAdmin.java (original)
+++ sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockEventAdmin.java Fri Oct 2 23:44:31 2015
@@ -25,12 +25,15 @@ import java.util.concurrent.Executors;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Deactivate;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.ReferenceCardinality;
import org.apache.felix.scr.annotations.ReferencePolicy;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.commons.osgi.ServiceUtil;
+import org.osgi.service.component.ComponentContext;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
import org.osgi.service.event.EventConstants;
@@ -50,9 +53,19 @@ public final class MockEventAdmin implem
cardinality=ReferenceCardinality.OPTIONAL_MULTIPLE, policy=ReferencePolicy.DYNAMIC)
private final Map<Object, EventHandlerItem> eventHandlers = new TreeMap<Object, EventHandlerItem>();
- private ExecutorService asyncHandler = Executors.newCachedThreadPool();
+ private ExecutorService asyncHandler;
private static final Logger log = LoggerFactory.getLogger(MockEventAdmin.class);
+
+ @Activate
+ protected void activate(ComponentContext componentContext) {
+ asyncHandler = Executors.newCachedThreadPool();
+ }
+
+ @Deactivate
+ protected void deactivate(ComponentContext componentContext) {
+ asyncHandler.shutdownNow();
+ }
@Override
public void postEvent(final Event event) {