You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "pm (JIRA)" <ji...@apache.org> on 2015/07/30 17:29:06 UTC

[jira] [Commented] (CAMEL-7122) javascript language not resolving

    [ https://issues.apache.org/jira/browse/CAMEL-7122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14647807#comment-14647807 ] 

pm commented on CAMEL-7122:
---------------------------

As Rasmus and others, I'm experiencing same problem on Camel 2.14.1 (servicemix 5.4) using a route in Xml file with a javascript expression. 

I spent some time without much fortune trying to debug and see what was happening (from a very newbie point of view).
What I've seen it's the inability of the bundle relative to feature camel-script-javascript to "export" classes 
of type javax.script.\*, ie javax.script.ScriptEngineFactory (in file Activator.java the test for *ScriptEngineFactory.class.IsAssignableFrom* is false..)

It seems to be a transient condition since, after giving the command "osgi:refresh --force <bundle-id-of-camel-script-javascript>",
the bundle export classes like javax.script.ScriptEngineFactory and all seems to be ok - also the route in file Xml - till the next restart. 
(Every time servicemix starts, an osgi:refresh would be needed)


> javascript language not resolving
> ---------------------------------
>
>                 Key: CAMEL-7122
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7122
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-script, osgi
>    Affects Versions: 2.10.0
>         Environment: JBoss Fuse 6.0.0, windows
>            Reporter: Steve Murphy
>            Assignee: Claus Ibsen
>            Priority: Minor
>              Labels: javascript
>             Fix For: 2.12.3, 2.13.0
>
>
> .when().javascript("3 > 1 + 1") causes bundle not to be loaded, with the following error:
> ERROR | BluePrinntContainerImpl | Bundle my-service is waiting for dependencies
> [(&(language=js)(objectClass=org.apache.camel.spi.LanguageResolver))]
> It seems that the javascript language is not registered correctly.
> Adding a custom Activator to register languages found by all ScriptEngineFactory's, and registering Rhino engine as "js" instead of "ECMAScript" seems to solve the problem.
> This problem is in 2.10.0. I have no idea if it has been fixed in other versions.
> Can someone please check .javascript() functionality in 2.11? Since if it has indeed been fixed in future versions, then this bug can be closed :)
> Workaround posted here:
> http://stackoverflow.com/questions/20997276/jboss-fuse-apache-camel-wont-resolve-language-js-javascript-for-bundle



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)