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/