SLING-11103 - Sync updates with super
diff --git a/src/main/java/org/apache/sling/rewriter/impl/TransformerFactoryServiceTracker.java b/src/main/java/org/apache/sling/rewriter/impl/TransformerFactoryServiceTracker.java
index 6b9d390..d80a676 100644
--- a/src/main/java/org/apache/sling/rewriter/impl/TransformerFactoryServiceTracker.java
+++ b/src/main/java/org/apache/sling/rewriter/impl/TransformerFactoryServiceTracker.java
@@ -63,12 +63,13 @@
public Object addingService(ServiceReference reference) {
final boolean isGlobal = isGlobal(reference);
LOGGER.debug("Adding service {}, isGlobal={}", reference.getClass(), isGlobal);
- if ( isGlobal ) {
- synchronized (this) {
+ Object obj = null;
+ synchronized (this) {
+ if ( isGlobal ) {
this.cacheIsValid = false;
}
+ obj = super.addingService(reference);
}
- Object obj = super.addingService(reference);
if ( obj == null && isGlobal ) {
obj = this.context.getService(reference);
}
@@ -82,12 +83,12 @@
public void removedService(ServiceReference reference, Object service) {
final boolean isGlobal = isGlobal(reference);
LOGGER.debug("Removing service {}, isGlobal={}", reference.getClass(), isGlobal);
- if ( isGlobal ) {
- synchronized (this) {
+ synchronized (this) {
+ if ( isGlobal ) {
this.cacheIsValid = false;
}
+ super.removedService(reference, service);
}
- super.removedService(reference, service);
}
/**