Hello,
Good evening.
I have the below route

    from("file://home/input?moveFailed=.error&fileName=in.txt")
          .transacted()
          .split(body.tokenize("\n")).streaming()
          .to("jms:queue:OUTQUEUE")

When the file in.txt has less records (500 records), I found that all 500
records gets committed in the OUTQUEUE all at once. This is the desired
behaviour.

But when the file in.txt contains 10K or more records, then I am getting
Stack overflow error. To fix this, I increased thread stack size by setting
-Xss10M and it worked, but that's not the usual thing one should do. Can
you please tell, why camel threads needs so much of stack in this case ?.
and how resolve this issue without setting -Xss.

Here is the complete stacktrace

    java.lang.StackOverflowError: null at
java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_231] at
java.lang.ClassLoader.defineClass(ClassLoader.java:756) ~[na:1.8.0_231] at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
~[na:1.8.0_231] at
java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
~[na:1.8.0_231] at
java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[na:1.8.0_231]
at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[na:1.8.0_231]
at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[na:1.8.0_231]
at java.security.AccessController.doPrivileged(Native Method)
~[na:1.8.0_231] at
java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[na:1.8.0_231]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[na:1.8.0_231] at
org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:92)
~[CamelDemoApp-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at
java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[na:1.8.0_231] at
ch.qos.logback.classic.spi.LoggingEvent.(LoggingEvent.java:119)
~[logback-classic-1.2.3.jar!/:na] at
ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:419)
~[logback-classic-1.2.3.jar!/:na] at
ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
~[logback-classic-1.2.3.jar!/:na] at
ch.qos.logback.classic.Logger.warn(Logger.java:692)
~[logback-classic-1.2.3.jar!/:na] at
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:155)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.CamelInternalProcessor$AsyncAfterTask.done(CamelInternalProcessor.java:186)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:126)
~[camel-spring-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:286)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.MulticastProcessor$MulticastState.lambda$run$1(MulticastProcessor.java:352)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.util.concurrent.AsyncCompletionService$Task.run(AsyncCompletionService.java:150)
~[camel-util-3.1.0.jar!/:3.1.0] at
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:153)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.CamelInternalProcessor$AsyncAfterTask.done(CamelInternalProcessor.java:186)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:126)
~[camel-spring-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:286)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.MulticastProcessor$MulticastState.lambda$run$1(MulticastProcessor.java:352)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.util.concurrent.AsyncCompletionService$Task.run(AsyncCompletionService.java:150)
~[camel-util-3.1.0.jar!/:3.1.0] at
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:153)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.CamelInternalProcessor$AsyncAfterTask.done(CamelInternalProcessor.java:186)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:126)
~[camel-spring-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:286)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.MulticastProcessor$MulticastState.lambda$run$1(MulticastProcessor.java:352)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.util.concurrent.AsyncCompletionService$Task.run(AsyncCompletionService.java:150)
~[camel-util-3.1.0.jar!/:3.1.0] at
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:153)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.CamelInternalProcessor$AsyncAfterTask.done(CamelInternalProcessor.java:186)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:126)
~[camel-spring-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:286)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.MulticastProcessor$MulticastState.lambda$run$1(MulticastProcessor.java:352)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.util.concurrent.AsyncCompletionService$Task.run(AsyncCompletionService.java:150)
~[camel-util-3.1.0.jar!/:3.1.0] at
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:153)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
~[camel-base-3.1.0.jar!/:3.1.0] at
org.apache.camel.processor.CamelInternalProcessor$AsyncAfterTask.done(CamelInternalProcessor.java:186)
~[camel-base-3.1.0.jar!/:3.1.0]



Regards,
Raju Parashar,

Reply via email to