I have a small camel route that calls a database server, then splits the result list using parallelprocessing and a executorserviceref (threadpool). When I close the application i writes that it is closing down by hangs... and leaves a java process taking 100% cpu.
hope someone can help... brgds Peter Thygesen (camel 2.8) the route looks something like this: <camel:camelContext xmlns="http://camel.apache.org/schema/spring"> <camel:package>com.mycompany.package</camel:package> <threadPoolProfile id="defaultThreadPoolProfile" defaultProfile="true" poolSize="10" maxPoolSize="20" maxQueueSize="1000" rejectedPolicy="CallerRuns" keepAliveTime="1000"/> <camel:route trace="false"> <camel:from uri="timer://runOnce?daemon=false&repeatCount=1"/> <camel:bean ref="queryBuilder"/> <!-- set the sql to execute --> <camel:to uri="sql:executeSql"/> <camel:split streaming="false" parallelProcessing="true" executorServiceRef="defaultThreadPoolProfile"> <simple>${body}</simple> <!-- do something with a row of data --> <camel:bean ref="deliveryImportHandler"/> <camel:setBody> <constant>imported</constant> </camel:setBody> <camel:aggregate strategyRef="aggregationStrategy"> <correlationExpression> <header>DELIVERY.latestVersion</header> </correlationExpression> <completionPredicate> <simple>${header.CamelSplitComplete}</simple> </completionPredicate> <bean ref="deliveryService" method="flush"/> <log message="DONE!" logName="com.mycompany.package" loggingLevel="INFO"/> </camel:aggregate> </camel:split> </camel:route>