Репозиторий Apache Camel Aggregator создает исключение OverlappingFileLockException - PullRequest
0 голосов
/ 25 марта 2019

У меня есть три разных маршрута, использующих Aggregator EIP для хранения.Для них определены разные хранилища.

При перезапуске моего приложения Camel на Tomcat мое приложение выдает исключение типа OverlappingFileLockException.

Ошибка не всегда одинакова, она может отличаться в хранилище.

org.apache.camel.RuntimeCamelException: org.apache.camel.FailedToCreateRouteException: не удалось создать маршрутroute1: Route (route1) [[From [direct: brexit]] -> [Aggregate [true -> [L ... из-за OverlappingFileLockException в org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException (ObjectHelper.java:1826)по адресу org.apache.camel.spring.SpringCamelContext.start (SpringCamelContext.java:136) по адресу org.apache.camel.spring.SpringCamelContext.onApplicationEvent (SpringCamelContext.java:174) в org.springText.(SimpleApplicationEventMulticaster.java:172) по адресу org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener (SimpleApplicationEventMulticaster.java:165) по адресу org.springframework.context.event.Savaсontext.support.AbstractApplicationContext.publishEvent (AbstractApplicationContext.java:402) в org.springframework.context.support.AbstractApplicationContext.publishEvent (AbstractApplicationContext.java:359) Abstract.Apptext.su.896) в org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh (ServletWebServerApplicationContext.java:163) в org.springframework.context.support.AbstractAg.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:142) при org.springframework.boot.SpringApplication.refresh (SpringApplication.java:775) в org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:397) в org.springframework.boot.SpringApplication.run (SpringApplication.java:316) в org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run (SpringBootServletInitializer.java:157) по адресу org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationConotSpringBootServletInitializer.onStartup (SpringBootServletInitializer.java:91) в org.springframework.web.SpringServletContainerInitializer.onStartup (SpringServletContainerInitializer.java:171) org.tand.tb.catalina.util.LifecycleBase.start (LifecycleBase.java:150) в org.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java:752) в org.apache.catalina.core.ContainerBase.addChild (ContainerBasej: 728) в org.apache.catalina.core.StandardHost.addChild (StandardHost.java:734) в org.apache.catalina.startup.HostConfig.deployWAR (HostConfig.java:988) в org.apache.catalina.startup.HostConfig $ DeployWar.run (HostConfig.java: 1860) на java.util.concurrent.Executors $ RunnableAdapter.call (неизвестный источник) на java.util.concurrent.FutureTask.run (неизвестный источник) на java.util.concurrent.ThreadPoolExecutor.runWorker (неизвестный источник) на java.util.concurrent.ThreadPoolExecutor $ Worker.run (неизвестный источник) в java.lang.Thread.run (неизвестный источник) Причина: org.apache.camel.FailedToCreateRouteException: не удалось создать маршрут route1: Route (route1) [[From [direct: brexit]] -> [Aggregate [true -> [L ... из-за исключения OverlappingFileLockException вorg.apache.camel.impl.RouteService.warmUp (RouteService.java:147) в org.apache.camel.impl.DefaultCamelContext.doWarmUpRoutes (DefaultCamelContext.java:3953) в org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices (DefaultCamelContext.java:3860) в org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes (DefaultCamelContext.java:3646) в org.apache.camel.impl.DefaultCamelContext.doStartCamel (DefaultCamelContext.java:3489) в org.apache.camel.impl.DefaultCamelContext $ 4.call (DefaultCamelContext.java:3248) в org.apache.camel.impl.DefaultCamelContext $ 4.call (DefaultCamelContext.java:3244) в org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader (DefaultCamelContext.java:3267) в org.apache.camel.impl.DefaultCamelContext.doStart (DefaultCamelContext.java:3244) в org.apache.camel.support.ServiceSupport.start (ServiceSupport.java:72) в org.apache.camel.impl.DefaultCamelContext.start (DefaultCamelContext.java:3160) в org.apache.camel.spring.SpringCamelContext.start (SpringCamelContext.java:133) ... 29 общих кадров опущены java.nio.channels.OverlappingFileLockException: ноль в sun.nio.ch.SharedFileLockTable.checkList (неизвестный источник) в sun.nio.ch.SharedFileLockTable.add (неизвестный источник) в sun.nio.ch.FileChannelImpl.tryLock (неизвестный источник) в java.nio.channels.FileChannel.tryLock (неизвестный источник) в org.iq80.leveldb.impl.DbLock. (DbLock.java:47) в org.iq80.leveldb.impl.DbImpl. (DbImpl.java:169) в org.iq80.leveldb.impl.Iq80DBFactory.open (Iq80DBFactory.java:83) в org.apache.camel.component.leveldb.LevelDBFile.start (LevelDBFile.java:175) в org.apache.camel.util.ServiceHelper.startService (ServiceHelper.java:75) в org.apache.camel.component.leveldb.LevelDBAggregationRepository.doStart (LevelDBAggregationRepository.java:412) в org.apache.camel.support.ServiceSupport.start (ServiceSupport.java:72) в org.apache.camel.util.ServiceHelper.startService (ServiceHelper.java:75) в org.apache.camel.util.ServiceHelper.startService (ServiceHelper.java:60) в org.apache.camel.util.ServiceHelper.startServices (ServiceHelper.java:104) в org.apache.camel.util.ServiceHelper.startServices (ServiceHelper.java:90) в org.apache.camel.processor.aggregate.AggregateProcessor.doStart (AggregateProcessor.java:1384) в org.apache.camel.support.ServiceSupport.start (ServiceSupport.java:72) в org.apache.camel.util.ServiceHelper.startService (ServiceHelper.java:75) в org.apache.camel.util.ServiceHelper.startService (ServiceHelper.java:60) в org.apache.camel.util.ServiceHelper.startServices (ServiceHelper.java:104) в org.apache.camel.util.ServiceHelper.startServices (ServiceHelper.java:90) в org.apache.camel.processor.RedeliveryErrorHandler.doStart (RedeliveryErrorHandler.java:1484) в org.apache.camel.support.ChildServiceSupport.start (ChildServiceSupport.java:44) в org.apache.camel.support.ChildServiceSupport.start (ChildServiceSupport.java:31) в org.apache.camel.util.ServiceHelper.startService (ServiceHelper.java:75) в org.apache.camel.util.ServiceHelper.startService (ServiceHelper.java:60) в org.apache.camel.util.ServiceHelper.startServices (ServiceHelper.java:104) в org.apache.camel.util.ServiceHelper.startServices (ServiceHelper.java:90) в org.apache.camel.processor.interceptor.DefaultChannel.doStart (DefaultChannel.java:160) в org.apache.camel.support.ServiceSupport.start (ServiceSupport.java:72) в org.apache.camel.util.ServiceHelper.startService (ServiceHelper.java:75) в org.apache.camel.util.ServiceHelper.startService (ServiceHelper.java:60) в org.apache.camel.util.ServiceHelper.startServices (ServiceHelper.java:104) в org.apache.camel.util.ServiceHelper.startServices (ServiceHelper.java:90) вorg.apache.camel.processor.DelegateAsyncProcessor.doStart (DelegateAsyncProcessor.java:80) в org.apache.camel.support.ServiceSupport.start (ServiceSupport.java:72) в org.apache.camel.util.ServiceHelper.startService (ServiceHelper.java:75) в org.apache.camel.impl.RouteService.startChildService (RouteService.java:370) в org.apache.camel.impl.RouteService.doWarmUp (RouteService.java:196) в org.apache.camel.impl.RouteService.warmUp (RouteService.java:145) ... 40 общих кадров пропущено

Все три маршрута используют LevelDBAggregationRepository, используя разные repositoryName и persistenFileName, например:

     LevelDBAggregationRepository shuttleRepo = new LevelDBAggregationRepository("shuttleArt26",
                    "mifir/data/shuttle/article26.dat");

 LevelDBAggregationRepository myTransRepoBrexit = new LevelDBAggregationRepository("jmstransBrexit",
                "mifir/data/brexit/jmstransBrexit.dat");

   LevelDBAggregationRepository myTransRepo = new LevelDBAggregationRepository("jmstrans",
                "mifir/data/art26/jmstrans.dat");

При остановке и перезапуске службы Tomcat исключений не выдается.

Проблемы возникли после внедрения нескольких Агрегаторов…

Верблюд: 2.23.1
Пружинный ботинок: 2.1.3. РЕЛИЗ Tomcat: 8,5 Windows

Что не так?

Тх

Mike

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...