Uploaded image for project: 'FUSE Mediation Router'
  1. FUSE Mediation Router
  2. MR-547

java.lang.IllegalArgumentException: No script engine could be created for: js

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.8.0-fuse-01-11
    • 2.8.0-fuse-01-06
    • None
    • None

      When a camel route using javascript as scripting engine is deployed on Fuse ESB (features:install camel-script), the following error and warning are generated

      		<route id="registerCall">
      			<from uri="vm:registerCall" />
      			<transacted ref="PROPAGATION_REQUIRED_JMS" />
      			<setHeader headerName="TEST_HEADER">
      				<constant>CALL REGISTERED</constant>
      			</setHeader>
      			<transform><simple>Registering ${exchangeId}</simple></transform>
      			<to uri="activemq:queue:registerCall" />
      			<filter>
      				<javaScript>Math.floor(Math.random()*2) == 1</javaScript>
      				<log message="***************** ${exchangeId} Throwing exception!" />
      				<throwException ref="myRandomException" />
      			</filter>
      		</route>
      

      WARN

      09:03:25,918 | WARN  | m://registerCall | Activator                        | ?                                   ? | 219 - org.apache.camel.camel-script - 2.8.0.fuse-01-06 | Cannot create ScriptEngineFactory: java.lang.ClassNotFoundException
      java.lang.ClassNotFoundException: #  not found by org.apache.commons.jexl [65]
      	at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:812)
      	at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72)
      	at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1806)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)[:1.6.0_26]
      	at org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:670)
      	at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1613)
      	at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:909)
      	at org.apache.camel.script.osgi.Activator$BundleScriptEngineResolver.resolveScriptEngine(Activator.java:153)
      	at org.apache.camel.script.osgi.Activator.resolveScriptEngine(Activator.java:108)
      

      ERROR

      Caused by: java.lang.IllegalArgumentException: No script engine could be created for: js
      	at org.apache.camel.builder.script.ScriptBuilder.createScriptEngine(ScriptBuilder.java:487)[219:org.apache.camel.camel-script:2.8.0.fuse-01-06]
      	at org.apache.camel.builder.script.ScriptBuilder.checkInitialised(ScriptBuilder.java:461)[219:org.apache.camel.camel-script:2.8.0.fuse-01-06]
      	at org.apache.camel.builder.script.ScriptBuilder.getEngine(ScriptBuilder.java:393)[219:org.apache.camel.camel-script:2.8.0.fuse-01-06]
      	at org.apache.camel.builder.script.ScriptBuilder.getScriptContext(ScriptBuilder.java:436)[219:org.apache.camel.camel-script:2.8.0.fuse-01-06]
      	at org.apache.camel.builder.script.ScriptBuilder.evaluateScript(ScriptBuilder.java:533)[219:org.apache.camel.camel-script:2.8.0.fuse-01-06]
      	at org.apache.camel.builder.script.ScriptBuilder.matches(ScriptBuilder.java:96)[219:org.apache.camel.camel-script:2.8.0.fuse-01-06]
      	at org.apache.camel.processor.FilterProcessor.process(FilterProcessor.java:46)[85:org.apache.camel.camel-core:2.8.0.fuse-01-06]
      

            yfang@redhat.com Freeman(Yue) Fang
            cmoullia Charles Moulliard
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: