Thanks Claus for such a fast answer! 

Regarding Java versions, we'll try to install a Java 7 or 8 in that Linux box, 
but as an alternate approach, which Camel version DOES support Java 6 so we 
could try that approach too?

Atentamente / Regards,

Gonzalo Vásquez Sáez
gvasq...@waypoint.cl
+56 (2) 29634180
Director I+D / R&D Director
Waypoint Telecomunicaciones S.A.

Alfredo Barros Errázuriz 1953 Of. 1004
7500550
Providencia, Santiago, Chile
Mapcode: R3.BR









> El 25-02-2015, a las 11:10, Claus Ibsen <claus.ib...@gmail.com> escribió:
> 
> Camel 2.14.x does not support Java 6. You must use Java 7 or 8.
> 
> On Wed, Feb 25, 2015 at 3:02 PM, Gonzalo Vásquez Sáez
> <gvasq...@waypoint.cl> wrote:
>> Hi everybody,
>> 
>> I’m using Camel 2.14.1, mainly to use a timer and an http consumer 
>> (URL_FLEET_HISTORY), as shown on the following Java code:
>> 
>> @Override
>>    public void configure() throws Exception {
>> 
>>        from("timer:ws?period=" + period)
>>                .process(new Processor() {
>> 
>>                    @Override
>>                    public void process(Exchange exchange) throws Exception {
>>                        Calendar cal = Calendar.getInstance();
>>                        System.out.println("Searching new data @ "
>>                                + cal.getTime());
>>                        cal.add(Calendar.HOUR, -48);
>>                        System.out.println("Since " + cal.getTime());
>>                        String lastReport = LAST_REPORT_DATE_FORMAT.format(cal
>>                                .getTime());
>>                        exchange.getOut().setHeader("lastReport", lastReport);
>> 
>>                    }
>>                })
>>                .recipientList(
>>                        simple(URL_FLEET_HISTORY + USERNAME + SLASH + PASSWORD
>>                                + SLASH + "${header.lastReport}"))
>>                .convertBodyTo(String.class)
>>                .log(LoggingLevel.INFO, logger, "Data Received: ${body}")
>>                .split().tokenizePair("<Heading>", "</Status>", true)
>>                .process(new LocationProcessor());
>>    }
>> 
>> I’m also using org.apache.camel.main.Main to run the process as a command 
>> line forever running kind of daemon. with this code:
>> 
>> public class Listener {
>> 
>>    public static void main(String[] args) throws Exception {
>>        Listener daemon = new Listener();
>>        daemon.boot();
>>    }
>> 
>>    private Main main;
>> 
>>    public void boot() throws Exception {
>>        // create a Main instance
>>        main = new Main();
>>        // enable hangup support so you can press ctrl + c to terminate the 
>> JVM
>>        main.enableHangupSupport();
>> 
>>        // add routes
>>        main.addRouteBuilder(new SkyPatrolRouteBuilder());
>> 
>>        // run until you terminate the JVM
>>        System.out.println("Starting Listener. Use Ctrl + c to terminate.");
>>        main.run();
>>    }
>> 
>> }
>> 
>> After a few days running the HTTP consumer starts to fail consistently with 
>> the following stacktrace:
>> 
>> 228243785 [Camel (camel-1) thread #0 - timer://ws] <timer://ws]> ERROR 
>> org.apache.camel.processor.DefaultErrorHandler - Failed delivery for 
>> (MessageId: ID-Monitor-59190-1424577519856-0-184780 on ExchangeId: 
>> ID-Monitor-59190-1424577519856-0-184781). Exhausted after delivery attempt: 
>> 1 caught: org.apache.camel.CamelExecutionException: Exception occurred 
>> during execution on the exchange: Exchange[Message: [Body is null]]
>> 
>> Message History
>> ---------------------------------------------------------------------------------------------------------------------------------------
>> RouteId              ProcessorId          Processor                          
>>                                               Elapsed (ms)
>> [route1            ] [route1            ] [timer://ws?period=180000          
>>                                             ] [        41 
>> <timer://ws?period=180000%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A0]%20[%20%C2%A0%20%C2%A0%20%C2%A0%20%C2%A041>]
>> [route1            ] [process1          ] 
>> [cl.waypoint.monitor.skypatrol.SkyPatrolRouteBuilder$1@549b6220              
>>   ] [         1]
>> [route1            ] [recipientList1    ] [recipientList[simple{Simple: 
>> http://wsp.skypatrol.com/fleet_history/waypointch] 
>> <http://wsp.skypatrol.com/fleet_history/waypointch]> [        42]
>> 
>> Exchange
>> ---------------------------------------------------------------------------------------------------------------------------------------
>> Exchange[
>>        Id                  ID-Monitor-59190-1424577519856-0-184781
>>        ExchangePattern     InOnly
>>        Headers             
>> {breadcrumbId=ID-Monitor-59190-1424577519856-0-184780, 
>> CamelRedelivered=false, CamelRedeliveryCounter=0, lastReport=20150222162243}
>>        BodyType            null
>>        Body                [Body is null]
>> ]
>> 
>> Stacktrace
>> ---------------------------------------------------------------------------------------------------------------------------------------
>> org.apache.camel.CamelExecutionException: Exception occurred during 
>> execution on the exchange: Exchange[Message: [Body is null]]
>>        at 
>> org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1380)
>>        at 
>> org.apache.camel.impl.DefaultExchange.setException(DefaultExchange.java:283)
>>        at 
>> org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:64)
>>        at 
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
>>        at 
>> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
>>        at 
>> org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:586)
>>        at 
>> org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:514)
>>        at 
>> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:226)
>>        at 
>> org.apache.camel.processor.RecipientList.sendToRecipientList(RecipientList.java:167)
>>        at 
>> org.apache.camel.processor.RecipientList.process(RecipientList.java:120)
>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
>>        at 
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
>>        at 
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
>>        at 
>> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
>>        at 
>> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
>>        at 
>> org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:166)
>>        at 
>> org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:74)
>>        at java.util.TimerThread.mainLoop(Timer.java:512)
>>        at java.util.TimerThread.run(Timer.java:462)
>> Caused by: java.lang.InternalError
>>        at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:755)
>>        at sun.misc.URLClassPath.getResource(URLClassPath.java:169)
>>        at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
>>        at java.security.AccessController.doPrivileged(Native Method)
>>        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>>        at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
>>        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>>        at 
>> java.util.ResourceBundle$RBClassLoader.loadClass(ResourceBundle.java:435)
>>        at 
>> java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:2289)
>>        at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1364)
>>        at java.util.ResourceBundle.findBundle(ResourceBundle.java:1328)
>>        at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1224)
>>        at java.util.ResourceBundle.getBundle(ResourceBundle.java:705)
>>        at java.util.logging.Level.getLocalizedName(Level.java:223)
>>        at java.util.logging.SimpleFormatter.format(SimpleFormatter.java:64)
>>        at java.util.logging.StreamHandler.publish(StreamHandler.java:179)
>>        at java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:88)
>>        at java.util.logging.Logger.log(Logger.java:458)
>>        at java.util.logging.Logger.doLog(Logger.java:480)
>>        at java.util.logging.Logger.logp(Logger.java:596)
>>        at 
>> org.apache.commons.logging.impl.Jdk14Logger.log(Jdk14Logger.java:98)
>>        at 
>> org.apache.commons.logging.impl.Jdk14Logger.info(Jdk14Logger.java:193)
>>        at 
>> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:439)
>>        at 
>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
>>        at 
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>>        at 
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
>>        at 
>> org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:244)
>>        at 
>> org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:144)
>>        at 
>> org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
>>        ... 19 more
>> Caused by: java.util.zip.ZipException: error in opening zip file
>>        at java.util.zip.ZipFile.open(Native Method)
>>        at java.util.zip.ZipFile.<init>(ZipFile.java:114)
>>        at java.util.jar.JarFile.<init>(JarFile.java:135)
>>        at java.util.jar.JarFile.<init>(JarFile.java:72)
>>        at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:646)
>>        at sun.misc.URLClassPath$JarLoader.access$600(URLClassPath.java:540)
>>        at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:607)
>>        at java.security.AccessController.doPrivileged(Native Method)
>>        at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:599)
>>        at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:753)
>>        ... 50 more
>> 228243804 [Camel (camel-1) thread #0 - timer://ws] <timer://ws]> WARN 
>> org.apache.camel.component.timer.TimerConsumer - Error processing exchange. 
>> Exchange[Message: [Body is null]]. Caused by: 
>> [org.apache.camel.CamelExecutionException - Exception occurred during 
>> execution on the exchange: Exchange[Message: [Body is null]]]
>> org.apache.camel.CamelExecutionException: Exception occurred during 
>> execution on the exchange: Exchange[Message: [Body is null]]
>>        at 
>> org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1380)
>>        at 
>> org.apache.camel.impl.DefaultExchange.setException(DefaultExchange.java:283)
>>        at 
>> org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:64)
>>        at 
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
>>        at 
>> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
>>        at 
>> org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:586)
>>        at 
>> org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:514)
>>        at 
>> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:226)
>>        at 
>> org.apache.camel.processor.RecipientList.sendToRecipientList(RecipientList.java:167)
>>        at 
>> org.apache.camel.processor.RecipientList.process(RecipientList.java:120)
>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
>>        at 
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
>>        at 
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
>>        at 
>> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
>>        at 
>> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
>>        at 
>> org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:166)
>>        at 
>> org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:74)
>>        at java.util.TimerThread.mainLoop(Timer.java:512)
>>        at java.util.TimerThread.run(Timer.java:462)
>> Caused by: java.lang.InternalError
>>        at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:755)
>>        at sun.misc.URLClassPath.getResource(URLClassPath.java:169)
>>        at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
>>        at java.security.AccessController.doPrivileged(Native Method)
>>        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>>        at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
>>        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>>        at 
>> java.util.ResourceBundle$RBClassLoader.loadClass(ResourceBundle.java:435)
>>        at 
>> java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:2289)
>>        at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1364)
>>        at java.util.ResourceBundle.findBundle(ResourceBundle.java:1328)
>>        at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1224)
>>        at java.util.ResourceBundle.getBundle(ResourceBundle.java:705)
>>        at java.util.logging.Level.getLocalizedName(Level.java:223)
>>        at java.util.logging.SimpleFormatter.format(SimpleFormatter.java:64)
>>        at java.util.logging.StreamHandler.publish(StreamHandler.java:179)
>>        at java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:88)
>>        at java.util.logging.Logger.log(Logger.java:458)
>>        at java.util.logging.Logger.doLog(Logger.java:480)
>>        at java.util.logging.Logger.logp(Logger.java:596)
>>        at 
>> org.apache.commons.logging.impl.Jdk14Logger.log(Jdk14Logger.java:98)
>>        at 
>> org.apache.commons.logging.impl.Jdk14Logger.info(Jdk14Logger.java:193)
>>        at 
>> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:439)
>>        at 
>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
>>        at 
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>>        at 
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
>>        at 
>> org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:244)
>>        at 
>> org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:144)
>>        at 
>> org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
>>        ... 19 more
>> Caused by: java.util.zip.ZipException: error in opening zip file
>>        at java.util.zip.ZipFile.open(Native Method)
>>        at java.util.zip.ZipFile.<init>(ZipFile.java:114)
>>        at java.util.jar.JarFile.<init>(JarFile.java:135)
>>        at java.util.jar.JarFile.<init>(JarFile.java:72)
>>        at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:646)
>>        at sun.misc.URLClassPath$JarLoader.access$600(URLClassPath.java:540)
>>        at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:607)
>>        at java.security.AccessController.doPrivileged(Native Method)
>>        at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:599)
>>        at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:753)
>>        ... 50 more
>> 
>> This is running in Debian Lenny 5.0.6 with Java 1.6.0_20
>> 
>> Seems to me like one of the dependant JARs could not be opened, but why 
>> after a few days running and not upon startup when it must have already 
>> passed through the whole pack of methods involved? How can I know which 
>> file/jar/zip is the problematic one?
>> 
>> Suggestions would be appreciated.
>> 
>> Atentamente / Regards,
>> 
>> Gonzalo Vásquez Sáez
>> gvasq...@waypoint.cl <mailto:gvasq...@waypoint.cl>
>> +56 (2) 29634180
>> Director I+D / R&D Director
>> Waypoint Telecomunicaciones S.A.
>> 
>> Alfredo Barros Errázuriz 1953 Of. 1004
>> 7500550
>> Providencia, Santiago, Chile
>> Mapcode: R3.BR
> 
> 
> 
> -- 
> Claus Ibsen
> -----------------
> Red Hat, Inc.
> Email: cib...@redhat.com
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
> hawtio: http://hawt.io/
> fabric8: http://fabric8.io/

Reply via email to