in src/main/java/org/apache/sling/scripting/core/impl/jsr223/SlingScriptEngineManager.java [249:267]
public void bundleChanged(BundleEvent event) {
if (event.getType() == BundleEvent.STARTED
&& event.getBundle().getBundleId() > 0
// SLING-11398 - use findEntries instead of getEntry to support fragments
&& event.getBundle().findEntries(META_INF_SERVICES, FACTORY_NAME, false) != null) {
synchronized (this.engineSpiBundles) {
this.engineSpiBundles.add(event.getBundle());
}
updateFactories();
} else if (event.getType() == BundleEvent.STOPPED) {
boolean refresh;
synchronized (this.engineSpiBundles) {
refresh = this.engineSpiBundles.remove(event.getBundle());
}
if (refresh) {
updateFactories();
}
}
}