This is an automated email from the ASF dual-hosted git repository.

radu pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-sightly-js-provider.git


The following commit(s) were added to refs/heads/master by this push:
     new c34f6a5  SLING-12755 - Break cyclic dependencies between the 
SightlyScriptEngineFactory and the BundledUnitManagerImpl service
c34f6a5 is described below

commit c34f6a58e6e47bddadbdf8e29bcb22eecc251721
Author: Radu Cotescu <r...@apache.org>
AuthorDate: Fri Apr 25 09:14:57 2025 +0200

    SLING-12755 - Break cyclic dependencies between the 
SightlyScriptEngineFactory and the BundledUnitManagerImpl service
    
    * remove the ScriptEngineManager dependency from the UseProviders to avoid 
cyclic dependencies
---
 .../org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java 
b/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java
index db8aae5..6d85f8b 100644
--- 
a/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java
+++ 
b/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java
@@ -20,7 +20,7 @@ package org.apache.sling.scripting.sightly.js.impl;
 
 import javax.script.Bindings;
 import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
+import javax.script.ScriptEngineFactory;
 
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.scripting.LazyBindings;
@@ -62,8 +62,8 @@ public class JsUseProvider implements UseProvider {
     private static final String JS_ENGINE_NAME = "rhino";
     private static final JsValueAdapter jsValueAdapter = new 
JsValueAdapter(new AsyncExtractor());
 
-    @Reference
-    private ScriptEngineManager scriptEngineManager;
+    @Reference(target = "(names=Rhino)")
+    private ScriptEngineFactory scriptEngineFactory;
 
     @Reference
     private ProxyAsyncScriptableFactory proxyAsyncScriptableFactory;
@@ -78,7 +78,7 @@ public class JsUseProvider implements UseProvider {
         if (!Utils.isJsScript(identifier)) {
             return ProviderOutcome.failure();
         }
-        ScriptEngine jsEngine = 
scriptEngineManager.getEngineByName(JS_ENGINE_NAME);
+        ScriptEngine jsEngine = scriptEngineFactory.getScriptEngine();
         if (jsEngine == null) {
             return ProviderOutcome.failure(
                     new SightlyException("Failed to obtain a " + 
JS_ENGINE_NAME + " JavaScript engine."));

Reply via email to