camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hendy Irawan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-3481) camel-script doesn't work in OSGi
Date Thu, 28 Jul 2011 02:45:10 GMT

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

Hendy Irawan commented on CAMEL-3481:
-------------------------------------

In my experience, "the ScriptEngineManager that ScriptBuilder uses can't find any scripting
engines except the ones packaged in the JDK" seems incorrect assumption, at least on ServiceMix
4.3.0 / Camel 2.6.0, as I got this:

09:39:26,649 | ERROR | rint Extender: 2 | BlueprintContainerImpl           | 7 - org.apache.aries.blueprint
- 0.2.0.incubating | Unable to start blueprint container for bundle marioteguh-to-tumblr_v2.blueprint.xml
due to unresolved dependencies [(&(language=simple)(objectClass=org.apache.camel.spi.LanguageResolver)),
(&(component=rss)(objectClass=org.apache.camel.spi.ComponentResolver)), (&(language=js)(objectClass=org.apache.camel.spi.LanguageResolver)),
(&(component=smtp)(objectClass=org.apache.camel.spi.ComponentResolver))]
java.util.concurrent.TimeoutException
        at org.apache.aries.blueprint.container.BlueprintContainerImpl$1.run(BlueprintContainerImpl.java:273)[7:org.apache.aries.blueprint:0.2.0.incubating]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.6.0_22]
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.6.0_22]
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.6.0_22]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)[:1.6.0_22]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)[:1.6.0_22]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[:1.6.0_22]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)[:1.6.0_22]
        at java.lang.Thread.run(Thread.java:679)[:1.6.0_22]

This seems to be the culprit:

  (&(language=js)(objectClass=org.apache.camel.spi.LanguageResolver))

I can confirm that there seems to be no bundle that exports this service:

camel-script (210) provides:
----------------------------
language = 
objectClass = org.apache.camel.spi.LanguageResolver
service.id = 350
----
objectClass = org.apache.camel.spi.LanguageResolver
resolver = default
service.id = 351

I reported this as bug SMXCOMP-895.

> camel-script doesn't work in OSGi
> ---------------------------------
>
>                 Key: CAMEL-3481
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3481
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-script
>    Affects Versions: 2.5.0
>            Reporter: Aaron Mulder
>            Assignee: Willem Jiang
>             Fix For: 2.8.0
>
>         Attachments: camel-core.patch, camel-script.patch
>
>
> In an OSGi environment, the ScriptEngineManager that ScriptBuilder uses can't find any
scripting engines except the ones packaged in the JDK (Rhino, maybe AppleScript, etc.).  It's
possible that setting a better ClassLoader would work, or perhaps using a singleton ScriptEngineManager
and setting up the scripting engines in an OSGi Activator instead of relying on the META-INF
lookup every time a script is invoked.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message