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,