2.23.2 but was discovered in 2.23.1 Need more info on the Service-part of the implementation.
I see the doStart() method is executed but I can’t see where doStop()-method is executed. I grasping after a "missing closing resource” in the implementation, which I assume is happening, at least according to the error message. Anyone know if it is in the org.fusesource.leveldbjni or in Camel? Från: Claus Ibsen <claus.ib...@gmail.com> <claus.ib...@gmail.com> Svara: users@camel.apache.org <users@camel.apache.org> <users@camel.apache.org> Datum: 12 maj 2019 at 09:40:53 Till: users@camel.apache.org <users@camel.apache.org> <users@camel.apache.org> Ämne: Re: Exception when mutliple LevelDB aggregations Hi > > What version of Camel do you use? > And yeah you are surely welcome to dig deeper > > On Fri, May 10, 2019 at 7:57 AM Mikael Grevsten > <mikael.grevs...@gmail.com> wrote: > > > Hi > > We have an issue when using more than one LevelDB aggregator in routes when > running in Tomcat as a war. > When the application is restarted we get the following exception: > > > 2019-05-09 15:52:21,296 [localhost-startStop-3] o.s.b.SpringApplication > ERROR - Application run failed(858) > org.apache.camel.RuntimeCamelException: > org.apache.camel.FailedToCreateRouteException: Failed to create route > MIFIR-TRADES: Route(MIFIR-TRADES)[[From[seda:mifir]] -> [Aggregate[true > ->... because of Error opening LevelDB with file mifir\data\jmstrans.dat > at > > org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1826) > at > > org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:136) > at > > org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:174) > at > > org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) > at > > org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) > at > > org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) > at > > org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:402) > at > > org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:359) > at > > org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:896) > at > > org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:163) > at > > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552) > at > > org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142) > at > > org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775) > at > > org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) > at > org.springframework.boot.SpringApplication.run(SpringApplication.java:316) > at > > org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:157) > at > > org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:137) > at > > org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:91) > at > > org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:171) > at > > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) > at > > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) > at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) > at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:988) > at > org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1860) > at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) > at java.util.concurrent.FutureTask.run(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create > route MIFIR-TRADES: Route(MIFIR-TRADES)[[From[seda:mifir]] -> > [Aggregate[true ->... because of Error opening LevelDB with file > mifir\data\jmstrans.dat > at org.apache.camel.impl.RouteService.warmUp(RouteService.java:147) > at > > org.apache.camel.impl.DefaultCamelContext.doWarmUpRoutes(DefaultCamelContext.java:3953) > at > > org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:3860) > at > > org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:3646) > at > > org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3489) > at > > org.apache.camel.impl.DefaultCamelContext$4.call(DefaultCamelContext.java:3248) > at > > org.apache.camel.impl.DefaultCamelContext$4.call(DefaultCamelContext.java:3244) > at > > org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:3267) > at > > org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:3244) > at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:72) > at > > org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:3160) > at > > org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:133) > ... 29 common frames omitted > Caused by: java.lang.RuntimeException: Error opening LevelDB with file > mifir\data\jmstrans.dat > at > org.apache.camel.component.leveldb.LevelDBFile.start(LevelDBFile.java:184) > at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75) > at > > org.apache.camel.component.leveldb.LevelDBAggregationRepository.doStart(LevelDBAggregationRepository.java:412) > at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:72) > at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75) > at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60) > at > org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104) > at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90) > at > > org.apache.camel.processor.aggregate.AggregateProcessor.doStart(AggregateProcessor.java:1384) > at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:72) > at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75) > at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60) > at > org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104) > at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90) > at > > org.apache.camel.processor.RedeliveryErrorHandler.doStart(RedeliveryErrorHandler.java:1484) > at > > org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:44) > at > > org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:31) > at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75) > at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60) > at > org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104) > at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90) > at > > org.apache.camel.processor.interceptor.DefaultChannel.doStart(DefaultChannel.java:160) > at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:72) > at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75) > at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60) > at > org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104) > at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90) > at > > org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:80) > at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:72) > at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75) > at > org.apache.camel.impl.RouteService.startChildService(RouteService.java:370) > at org.apache.camel.impl.RouteService.doWarmUp(RouteService.java:196) > at org.apache.camel.impl.RouteService.warmUp(RouteService.java:145) > ... 40 common frames omitted > Caused by: org.fusesource.leveldbjni.internal.NativeDB$DBException: IO > error: D:\apache-tomcat-8.5.23\mifir\data\jmstrans.dat\MANIFEST-000025: The > handle is invalid. > > at > org.fusesource.leveldbjni.internal.NativeDB.checkStatus(NativeDB.java:200) > at org.fusesource.leveldbjni.internal.NativeDB.open(NativeDB.java:218) > at org.fusesource.leveldbjni.JniDBFactory.open(JniDBFactory.java:168) > at > org.apache.camel.component.leveldb.LevelDBFile.start(LevelDBFile.java:182) > ... 72 common frames omitted > 2019-05-09 15:52:21,312 [localhost-startStop-3] s.t.m.MainApplication INFO > - So long and thanks for all the fish(106) > > > The exceptions is NOT thrown upon startup of tomcat. > To resolve this we need to restart Tomcat. > > We have seen this in our IDEA as well when restarting application but not > as frequent as when on tomcat. > > We know the reason since we’ve added one more aggregator in another route > and haven’t had this behaviour before. > > I have tried to investigate this but failed. I think the problem lies > deeper than the source code of camel… > > The two aggregators are separate declared and using its own storage file. > > > > > -- > Claus Ibsen > ----------------- > http://davsclaus.com @davsclaus > Camel in Action 2: https://www.manning.com/ibsen2 >