Hi,

It looks like the JVM have some trouble to detect the content type of the file.


Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.nio.fs.GnomeFileTypeDetector.probeUsingGio(J)[B+0
j  
sun.nio.fs.GnomeFileTypeDetector.implProbeContentType(Ljava/nio/file/Path;)Ljava/lang/String;+53
j  
sun.nio.fs.UnixFileSystemProvider$2.implProbeContentType(Ljava/nio/file/Path;)Ljava/lang/String;+26
j  
sun.nio.fs.AbstractFileTypeDetector.probeContentType(Ljava/nio/file/Path;)Ljava/lang/String;+16
j  
java.nio.file.Files.probeContentType(Ljava/nio/file/Path;)Ljava/lang/String;+47
j  
org.apache.camel.component.file.GenericFile.populateHeaders(Lorg/apache/camel/component/file/GenericFileMessage;)V+84

To Fix this issue, you may need to write your own FileTypeDetector[1].


[1]http://stackoverflow.com/questions/22679201/java-probecontenttype

--  
Willem Jiang


Blog: http://willemjiang.blogspot.com (English)  
http://jnn.iteye.com (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem



On January 18, 2016 at 7:48:20 PM, Hubertus.Willuhn 
(hubertus.will...@dinsoftware.de) wrote:
> 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
>  
>  
> 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 "> }
>  
> 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.
>  

Reply via email to