Hello. I'm afraid we can't switch to a newer version. Our customer production system is Fuse 6.3 with its validated Camel version. And other systems are using the versions I've previously listed.
For the future we can plan to use the latest Camel versions, but today it's almost impossible... No idea of what changes lead to this very strange behavior on some quite trivial operations ? Thanks again. Regards. Le jeu. 3 nov. 2022 à 12:30, Otavio Rodolfo Piske <angusyo...@gmail.com> a écrit : > > Hi, > > I wouldn't know about the reason for this behavior, but my suggestion is to > try with a newer version of Camel. Camel version 2.x is not maintained > anymore. > > Please, can you try with a newer version of Camel? Something like 3.18.3 > ... and let us know if this is still a problem? > > Kind regards > > On Thu, Nov 3, 2022 at 9:30 AM Ephemeris Lappis <ephemeris.lap...@gmail.com> > wrote: > > > Hello. > > > > The issue happens on different versions of Camel with different > > configurations : > > - 2.25.4 / karaf 4.3.6 / jdk 1.8 > > - 2.25.4 / karaf 4.4.1 / jdk 18 > > - 2.17.0 / fuse 6.3 / jdk 1.8 > > > > The last one is the production environment where the issue is critical... > > > > What's strange, is that the same little blueprint works as expected > > without any error with : > > - 2.16.5 / karaf 4.0.9 (smx 7.0.1) / jdk 1.8 > > > > Any idea of the origin of the issue, and if a workaround exists : an > > endpoint option, some configuration, anything ? > > > > Thanks. > > > > Regards. > > > > Le mer. 2 nov. 2022 à 18:51, Otavio Rodolfo Piske > > <angusyo...@gmail.com> a écrit : > > > > > > Hello, > > > > > > What version of Camel are you using? > > > > > > Kind regards > > > > > > On Wed, Nov 2, 2022 at 3:22 PM Ephemeris Lappis < > > ephemeris.lap...@gmail.com> > > > wrote: > > > > > > > Hello again. > > > > > > > > Sorry to answer my own question... > > > > > > > > I've read again the file component documentation looking for any > > > > solution to fix ou issue, and I've seen that this is exactly the > > > > example that it's given for using charset : > > > > > > > > The charset option allows for configuring an encoding of the files on > > > > both the consumer and producer endpoints. For example if you read > > > > utf-8 files, and want to convert the files to iso-8859-1, you can do: > > > > > > > > from("file:inbox?charset=utf-8") > > > > .to("file:outbox?charset=iso-8859-1") > > > > > > > > And this seems to be always failing with the > > > > UnmappableCharacterException when a character from the input has no > > > > mapped character in the output charset... > > > > > > > > Nobody has reported it yet ? > > > > > > > > Thanks for your feedback. > > > > > > > > Regards. > > > > > > > > Le ven. 28 oct. 2022 à 16:59, Ephemeris Lappis > > > > <ephemeris.lap...@gmail.com> a écrit : > > > > > > > > > > Hello. > > > > > > > > > > I've been using the File component for years, and discover today a > > > > > strange exception when using a charset on a producer endpoint. > > > > > > > > > > Example : > > > > > > > > > > <route id="pma-file"> > > > > > <from > > > > > > uri="file:/TMP/PMA/input?delete=true&charset=UTF-8&moveFailed=.BUG"/> > > > > > <log message="PMA : processing ${file:name} (length > > ${file:length})..."/> > > > > > <to uri="file:/TMP/PMA/output?charset=ISO-8859-1"/> > > > > > </route> > > > > > > > > > > If I put a file that contains only characters that exist in > > > > > ISO-8859-1, no problem. > > > > > If the file contains an € (euro) for example, an exception is thrown > > > > > (see at the end of the mail) : > > > > > java.nio.charset.UnmappableCharacterException: Input length = 1 > > > > > > > > > > A trivial java program, with the same jvm on the same machine, that > > > > > reads a file in UTF-8 and writes its content into another file with > > > > > ISO-8859-1 only replaces the missing unmapped characters with ? > > > > > > > > > > Is it a bug (I can't imagine nobody saw that before) or just a > > missing > > > > > option on the endpoint ? > > > > > I've not found any option for that... > > > > > > > > > > Thanks for your help. > > > > > > > > > > Regards. > > > > > > > > > > The exception : > > > > > org.apache.camel.component.file.GenericFileOperationFailedException: > > > > > Cannot store file: C:\TMP\PMA\output\F1.txt > > > > > at > > > > > > org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:359) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:305) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:169) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > org.apache.camel.component.file.GenericFileProducer.process(GenericFileProducer.java:80) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) > > > > > [!/:2.25.4] > > > > > at > > > > > > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > > > > > [!/:2.25.4] > > > > > at > > org.apache.camel.processor.Pipeline.process(Pipeline.java:138) > > > > > [!/:2.25.4] > > > > > at > > org.apache.camel.processor.Pipeline.process(Pipeline.java:101) > > > > > [!/:2.25.4] > > > > > at > > > > > > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > > > > > [!/:2.25.4] > > > > > at > > > > > > org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:452) > > > > > [!/:2.25.4] > > > > > at > > > > > > org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:221) > > > > > [!/:2.25.4] > > > > > at > > > > > > org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:185) > > > > > [!/:2.25.4] > > > > > at > > > > > > org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:174) > > > > > [!/:2.25.4] > > > > > at > > > > > > org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:101) > > > > > [!/:2.25.4] > > > > > at > > > > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > > > > > [?:1.8.0_242] > > > > > at > > > > java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) > > > > > [?:1.8.0_242] > > > > > at > > > > > > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) > > > > > [?:1.8.0_242] > > > > > at > > > > > > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) > > > > > [?:1.8.0_242] > > > > > at > > > > > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > > > > > [?:1.8.0_242] > > > > > at > > > > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > > > > > [?:1.8.0_242] > > > > > at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242] > > > > > Caused by: java.nio.charset.UnmappableCharacterException: Input > > length = > > > > 1 > > > > > at > > > > java.nio.charset.CoderResult.throwException(CoderResult.java:282) > > > > > ~[?:1.8.0_242] > > > > > at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:285) > > > > > ~[?:1.8.0_242] > > > > > at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125) > > > > ~[?:1.8.0_242] > > > > > at > > java.io.OutputStreamWriter.write(OutputStreamWriter.java:207) > > > > > ~[?:1.8.0_242] > > > > > at > > java.io.BufferedWriter.flushBuffer(BufferedWriter.java:129) > > > > > ~[?:1.8.0_242] > > > > > at java.io.BufferedWriter.flush(BufferedWriter.java:253) > > > > ~[?:1.8.0_242] > > > > > at org.apache.camel.util.IOHelper.copy(IOHelper.java:250) > > > > ~[!/:2.25.4] > > > > > at > > > > > > org.apache.camel.component.file.FileOperations.writeFileByReaderWithCharset(FileOperations.java:421) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:337) > > > > > ~[!/:2.25.4] > > > > > ... 22 more > > > > > Suppressed: java.nio.charset.UnmappableCharacterException: > > > > > Input length = 1 > > > > > at > > > > > java.nio.charset.CoderResult.throwException(CoderResult.java:282) > > > > > ~[?:1.8.0_242] > > > > > at > > > > > sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:285) > > > > > ~[?:1.8.0_242] > > > > > at > > > > > sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125) ~[?:1.8.0_242] > > > > > at > > > > > java.io.OutputStreamWriter.write(OutputStreamWriter.java:207) > > > > > ~[?:1.8.0_242] > > > > > at > > > > > java.io.BufferedWriter.flushBuffer(BufferedWriter.java:129) > > > > > ~[?:1.8.0_242] > > > > > at > > > > > java.io.BufferedWriter.close(BufferedWriter.java:265) ~[?:1.8.0_242] > > > > > at > > > > > > > > > > > org.apache.camel.component.file.FileOperations.writeFileByReaderWithCharset(FileOperations.java:422) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:337) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:305) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:169) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.component.file.GenericFileProducer.process(GenericFileProducer.java:80) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148) > > > > > ~[!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) > > > > > [!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > > > > > [!/:2.25.4] > > > > > at > > > > > org.apache.camel.processor.Pipeline.process(Pipeline.java:138) > > > > > [!/:2.25.4] > > > > > at > > > > > org.apache.camel.processor.Pipeline.process(Pipeline.java:101) > > > > > [!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > > > > > [!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:452) > > > > > [!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:221) > > > > > [!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:185) > > > > > [!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:174) > > > > > [!/:2.25.4] > > > > > at > > > > > > > > > > > org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:101) > > > > > [!/:2.25.4] > > > > > at > > > > > > > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > > > > > [?:1.8.0_242] > > > > > at > > > > > java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) > > > > > [?:1.8.0_242] > > > > > at > > > > > > > > > > > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) > > > > > [?:1.8.0_242] > > > > > at > > > > > > > > > > > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) > > > > > [?:1.8.0_242] > > > > > at > > > > > > > > > > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > > > > > [?:1.8.0_242] > > > > > at > > > > > > > > > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > > > > > [?:1.8.0_242] > > > > > at java.lang.Thread.run(Thread.java:748) > > [?:1.8.0_242] > > > > > 1 > > > > > > > > > > > > > -- > > > Otavio R. Piske > > > http://orpiske.net > > > > > -- > Otavio R. Piske > http://orpiske.net