Hi Community, i got an error reading 4 directory (with 1 file per directory) in 4 routes with file: endpoint. I use Camel 2.16.1 and Spring 4.1.8 as well as Spring Boot 1.2.7.
After Compiling my code the app starts normal via Spring Boot but after initializing my routes the app crashes with error: # A fatal error has been detected by the Java Runtime Environment: (process:15444): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed # # SIGSEGV (0xb) at pc=0x00007fd4f12ed5e9, pid=15444, tid=140552575444736 [thread 140552572286720 also had an error] # # JRE version: Java(TM) SE Runtime Environment (8.0_45-b14) (build 1.8.0_45-b14) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.45-b02 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libglib-2.0.so.0+0x595e9] g_slice_alloc+0x139 # # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # An error report file with more information is saved as: The saved error log can you see as an attachment: error.log <http://camel.465427.n5.nabble.com/file/n5776391/error.log> My routes are 4 classes (one for every directory) which got there routes from a abstract base class. Configuration is correct. So all parameters are set. The main base route looks like: from(producer()) // split document on each record .split().xtokenize(splitPath(), extractionMode(), namespaces()).streaming() //.tokenizeXML(this.splitPath(), this.root()).streaming() // threading .parallelProcessing().executorServiceRef(CamelConfig.THREAD_POOL_NAME) // TODO filter by parameter //.filter(simple("${exchangeProperty.CamelSplitIndex} > 46000")) //.setHeader(RECID, this.id()) .process(processor()) .to(consumer()) //.end() // filter .end() // split .stop(); The next class implementing some of the parameter functions looks like protected String baseDir; @Override protected Processor processor() { return (exchange -> { String body = exchange.getIn().getBody(String.class); // remove whitespaces body = body.trim(); RegEx regex = new RegEx(">\\s+<").exec(body); body = regex.replaceAll("><"); // extract record id regex = new RegEx(idExpression()).exec(body); if(!regex.hits()) { throw new IllegalArgumentException("Invalid XML-content detected: no record id found."); } exchange.getIn().setBody(body, String.class); exchange.getIn().setHeader(RECID, regex.group(1)); }); } protected String idExpression() { return "<WI WIID=\"(\\d+)\""; } and the last level did the endpoint declaration for the directory: @Override public Endpoint producer() { return endpoint("file:" + this.baseDir + "/srv" + "?noop=true"); } @Override public Endpoint consumer() { return endpoint(WI_Aggregator.ENDPOINT); } @Override protected String splitPath() { return "/CENSRV/WI"; } Did somebody got an idea what to do? Best regards Hubertus -- View this message in context: http://camel.465427.n5.nabble.com/Error-Reading-Files-from-four-different-Routes-tp5776391.html Sent from the Camel - Users mailing list archive at Nabble.com.
