You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Thiago Souza <tc...@gmail.com> on 2010/07/30 03:05:02 UTC
Help using JoSQL
Hi,
I'm trying to use JoSQL. I followed the instructions at
http://camel.apache.org/sql.html. Here is my current test context:
<c:route>
<c:from uri="file://./input" />
<c:unmarshal ref="test" /> <!-- json -->
<c:setBody>
<c:sql>select num from java.util.Map</c:sql>
</c:setBody>
<c:to uri="log:test?level=INFO" />
</c:route>
But I'm always getting the following exception:
java.lang.IllegalArgumentException: No script engine could be created for:
sql
at
org.apache.camel.builder.script.ScriptBuilder.createScriptEngine(ScriptBuilder.java:473)
at
org.apache.camel.builder.script.ScriptBuilder.checkInitialised(ScriptBuilder.java:451)
at
org.apache.camel.builder.script.ScriptBuilder.getEngine(ScriptBuilder.java:383)
at
org.apache.camel.builder.script.ScriptBuilder.getScriptContext(ScriptBuilder.java:426)
at
org.apache.camel.builder.script.ScriptBuilder.evaluateScript(ScriptBuilder.java:501)
at
org.apache.camel.builder.script.ScriptBuilder.evaluate(ScriptBuilder.java:77)
at
org.apache.camel.builder.script.ScriptBuilder.evaluate(ScriptBuilder.java:81)
at
org.apache.camel.processor.SetBodyProcessor.process(SetBodyProcessor.java:36)
at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:290)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:202)
at
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:143)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:78)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:99)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:313)
at
org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:144)
at
org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:110)
at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Any clue anyone?
Regards,
Thiago Souza
--
View this message in context: http://camel.465427.n5.nabble.com/Help-using-JoSQL-tp2259071p2259071.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Help using JoSQL
Posted by Thiago Souza <tc...@gmail.com>.
Great, thanks!
--
View this message in context: http://camel.465427.n5.nabble.com/Help-using-JoSQL-tp2259071p2259103.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Help using JoSQL
Posted by Willem Jiang <wi...@gmail.com>.
OK, it's look like JoSQL only works in DSL now, you have to use the
SqlBuilder to define SQL expression in the RouteBulder.
I just create a JIRA[1] for it and will commit a quick fix today.
[1]https://issues.apache.org/activemq/browse/CAMEL-3014
Willem
----------------------------------
Apache Camel, Apache CXF committer
Open Source Integration http://www.fusesource.com
Blog http://willemjiang.blogspot.com
Tiwtter http://twitter.com/willemjiang
Thiago Souza wrote:
> I doubled checked, it's there. I can assure that both
> "org.apache.camel.builder.sql.SqlBuilder" and "org.josql.Query" are visible
> from the current classpath.
>
> What I don't understand is how the "org.apache.camel.builder.sql.SqlBuilder"
> is discovered. I don't see any metadata inside META-INF that would make it
> discoverable.
>
> BTW, i'm using camel 2.4.0.
>
> Regards,
> Thiago Souza
Re: Help using JoSQL
Posted by Thiago Souza <tc...@gmail.com>.
I doubled checked, it's there. I can assure that both
"org.apache.camel.builder.sql.SqlBuilder" and "org.josql.Query" are visible
from the current classpath.
What I don't understand is how the "org.apache.camel.builder.sql.SqlBuilder"
is discovered. I don't see any metadata inside META-INF that would make it
discoverable.
BTW, i'm using camel 2.4.0.
Regards,
Thiago Souza
--
View this message in context: http://camel.465427.n5.nabble.com/Help-using-JoSQL-tp2259071p2259085.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Help using JoSQL
Posted by Willem Jiang <wi...@gmail.com>.
Hi,
It looks like you didn't put the camel-josql jar into your class path.
Willem
----------------------------------
Apache Camel, Apache CXF committer
Open Source Integration http://www.fusesource.com
Blog http://willemjiang.blogspot.com
Tiwtter http://twitter.com/willemjiang
Thiago Souza wrote:
> Hi,
>
> I'm trying to use JoSQL. I followed the instructions at
> http://camel.apache.org/sql.html. Here is my current test context:
>
>
> <c:route>
> <c:from uri="file://./input" />
> <c:unmarshal ref="test" /> <!-- json -->
> <c:setBody>
> <c:sql>select num from java.util.Map</c:sql>
> </c:setBody>
> <c:to uri="log:test?level=INFO" />
> </c:route>
>
>
> But I'm always getting the following exception:
>
>
> java.lang.IllegalArgumentException: No script engine could be created for:
> sql
> at
> org.apache.camel.builder.script.ScriptBuilder.createScriptEngine(ScriptBuilder.java:473)
> at
> org.apache.camel.builder.script.ScriptBuilder.checkInitialised(ScriptBuilder.java:451)
> at
> org.apache.camel.builder.script.ScriptBuilder.getEngine(ScriptBuilder.java:383)
> at
> org.apache.camel.builder.script.ScriptBuilder.getScriptContext(ScriptBuilder.java:426)
> at
> org.apache.camel.builder.script.ScriptBuilder.evaluateScript(ScriptBuilder.java:501)
> at
> org.apache.camel.builder.script.ScriptBuilder.evaluate(ScriptBuilder.java:77)
> at
> org.apache.camel.builder.script.ScriptBuilder.evaluate(ScriptBuilder.java:81)
> at
> org.apache.camel.processor.SetBodyProcessor.process(SetBodyProcessor.java:36)
> at
> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)
> at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> at
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> at
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
> at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> at
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> at
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> at
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
> at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> at
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> at
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
> at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:290)
> at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:202)
> at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
> at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:143)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:78)
> at
> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:99)
> at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> at
> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> at
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
> at
> org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:313)
> at
> org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:144)
> at
> org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:110)
> at
> org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at
> java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
>
>
> Any clue anyone?
>
> Regards,
> Thiago Souza
>