You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by al...@apache.org on 2015/10/26 11:40:34 UTC
svn commit: r1710559 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java
Author: alexparvulescu
Date: Mon Oct 26 10:40:34 2015
New Revision: 1710559
URL: http://svn.apache.org/viewvc?rev=1710559&view=rev
Log:
OAK-3409 CompositeRegistration.unregister diagnostics not helpful
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java?rev=1710559&r1=1710558&r2=1710559&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java Mon Oct 26 10:40:34 2015
@@ -42,12 +42,17 @@ import org.osgi.framework.ServiceReferen
import org.osgi.framework.ServiceRegistration;
import org.osgi.util.tracker.ServiceTracker;
import org.osgi.util.tracker.ServiceTrackerCustomizer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* OSGi-based whiteboard implementation.
*/
public class OsgiWhiteboard implements Whiteboard {
+ private static final Logger log = LoggerFactory
+ .getLogger(OsgiWhiteboard.class);
+
private final BundleContext context;
public OsgiWhiteboard(@Nonnull BundleContext context) {
@@ -56,7 +61,7 @@ public class OsgiWhiteboard implements W
@Override
public <T> Registration register(
- Class<T> type, T service, Map<?, ?> properties) {
+ final Class<T> type, final T service, Map<?, ?> properties) {
checkNotNull(type);
checkNotNull(service);
checkNotNull(properties);
@@ -72,7 +77,12 @@ public class OsgiWhiteboard implements W
return new Registration() {
@Override
public void unregister() {
- registration.unregister();
+ try {
+ registration.unregister();
+ } catch (IllegalStateException ex) {
+ log.warn("Error unregistering service: {} of type {}",
+ service, type.getName(), ex);
+ }
}
};
}