[
https://issues.apache.org/jira/browse/CAMEL-15021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17100946#comment-17100946
]
Kamil commented on CAMEL-15021:
-------------------------------
I see, thanks!
Still "Instead of 60000 you can use period=60s which is more friendly to read."
should be removed from
[https://camel.apache.org/components/latest/timer-component.html] IMHO.
> timer period=10s throws java.lang.NumberFormatException: For input string:
> "10s"
> --------------------------------------------------------------------------------
>
> Key: CAMEL-15021
> URL: https://issues.apache.org/jira/browse/CAMEL-15021
> Project: Camel
> Issue Type: Bug
> Affects Versions: 3.2.0
> Reporter: Kamil
> Priority: Minor
>
> Hi!
> Just updated from 3.0.0-RC3 to 3.2.0 and creating a timed route like:
> {code:java}
> from("timer://timer?fixedRate=true&period=10s"){code}
> in conjunction with Spring throws the following exception:
>
>
> {code:java}
> java.lang.IllegalStateException: Failed to load
> ApplicationContextjava.lang.IllegalStateException: Failed to load
> ApplicationContext
> at
> org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125)
> at
> org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
> at
> org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.postProcessFields(MockitoTestExecutionListener.java:99)
> at
> org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.injectFields(MockitoTestExecutionListener.java:79)
> at
> org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.prepareTestInstance(MockitoTestExecutionListener.java:54)
> at
> org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
> at
> org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:97)
> at
> org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$invokeTestInstancePostProcessors$5(ClassTestDescriptor.java:349)
> at
> org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.executeAndMaskThrowable(JupiterTestDescriptor.java:215)
> at
> org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$invokeTestInstancePostProcessors$6(ClassTestDescriptor.java:349)
> at
> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
> at
> java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
> at
> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654)
> at
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
> at
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
> at
> java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)
> at
> java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
> at
> java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
> at
> java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
> at
> org.junit.jupiter.engine.descriptor.ClassTestDescriptor.invokeTestInstancePostProcessors(ClassTestDescriptor.java:348)
> at
> org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateAndPostProcessTestInstance(ClassTestDescriptor.java:270)
> at
> org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$testInstanceProvider$2(ClassTestDescriptor.java:259)
> at
> org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$testInstanceProvider$3(ClassTestDescriptor.java:263)
> at java.base/java.util.Optional.orElseGet(Optional.java:369) at
> org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$testInstanceProvider$4(ClassTestDescriptor.java:262)
> at
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:82)
> at
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:59)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$0(NodeTestTask.java:83)
> at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:83)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:69)
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) at
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:112)
> at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) at
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:112)
> at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
> at
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
> at
> org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
> at
> org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
> at
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220)
> at
> org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)
> at
> org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)
> at
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)
> at
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
> at
> com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:69)
> at
> com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
> at
> com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
> at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)Caused by:
> org.apache.camel.FailedToCreateRouteException: Failed to create route
> TimerPlaylistCurrent:
> Route(TimerPlaylistCurrent)[From[timer://timer?fixedRate=tru... because of
> Failed to resolve endpoint: timer://timer?fixedRate=true&period=10s due to:
> Error binding property (period=10s) with name: period on bean:
> timer://timer?fixedRate=true&period=10s with value: 10s at
> org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:123) at
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:353)
> at
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:327)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2598)
> at org.apache.camel.support.service.BaseService.init(BaseService.java:83) at
> org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2431)
> at org.apache.camel.support.service.BaseService.start(BaseService.java:111)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2448)
> at
> org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:121)
> at
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:157)
> 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.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552)
> 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.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:127)
> at
> org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)
> at
> org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)
> ... 54 moreCaused by: org.apache.camel.ResolveEndpointFailedException:
> Failed to resolve endpoint: timer://timer?fixedRate=true&period=10s due to:
> Error binding property (period=10s) with name: period on bean:
> timer://timer?fixedRate=true&period=10s with value: 10s at
> org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:874)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:764)
> at
> org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:57)
> at
> org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:166)
> at
> org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:259) at
> org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:117) ...
> 76 moreCaused by: org.apache.camel.PropertyBindingException: Error binding
> property (period=10s) with name: period on bean:
> timer://timer?fixedRate=true&period=10s with value: 10s at
> org.apache.camel.support.PropertyBindingSupport.doBindProperties(PropertyBindingSupport.java:555)
> at
> org.apache.camel.support.PropertyBindingSupport.access$000(PropertyBindingSupport.java:71)
> at
> org.apache.camel.support.PropertyBindingSupport$Builder.bind(PropertyBindingSupport.java:255)
> at
> org.apache.camel.support.DefaultEndpoint.setProperties(DefaultEndpoint.java:433)
> at
> org.apache.camel.support.DefaultEndpoint.configureProperties(DefaultEndpoint.java:401)
> at
> org.apache.camel.support.DefaultComponent.setProperties(DefaultComponent.java:449)
> at
> org.apache.camel.component.timer.TimerComponent.createEndpoint(TimerComponent.java:112)
> at
> org.apache.camel.support.DefaultComponent.createEndpoint(DefaultComponent.java:233)
> at
> org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:842)
> ... 81 moreCaused by: org.apache.camel.TypeConversionException: Error during
> type conversion from type: java.lang.String to the required type: long with
> value 10s due to java.lang.NumberFormatException: For input string: "10s" at
> org.apache.camel.support.SimpleTypeConverter.convertTo(SimpleTypeConverter.java:103)
> at
> org.apache.camel.impl.converter.CoreTypeConverterRegistry.doConvertTo(CoreTypeConverterRegistry.java:338)
> at
> org.apache.camel.impl.converter.CoreTypeConverterRegistry.doConvertTo(CoreTypeConverterRegistry.java:234)
> at
> org.apache.camel.impl.converter.CoreTypeConverterRegistry.convertTo(CoreTypeConverterRegistry.java:164)
> at
> org.apache.camel.impl.converter.CoreTypeConverterRegistry.convertTo(CoreTypeConverterRegistry.java:119)
> at
> org.apache.camel.support.component.PropertyConfigurerSupport.property(PropertyConfigurerSupport.java:73)
> at
> org.apache.camel.component.timer.TimerEndpointConfigurer.configure(TimerEndpointConfigurer.java:37)
> at
> org.apache.camel.support.PropertyBindingSupport.doBindProperties(PropertyBindingSupport.java:550)
> ... 89 moreCaused by: java.lang.NumberFormatException: For input string:
> "10s" at
> java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
> at java.base/java.lang.Long.parseLong(Long.java:692) at
> java.base/java.lang.Long.valueOf(Long.java:1144) at
> org.apache.camel.converter.ObjectConverter.toLong(ObjectConverter.java:177)
> at
> org.apache.camel.converter.ObjectConverterLoader.lambda$registerConverters$17(ObjectConverterLoader.java:63)
> at
> org.apache.camel.support.SimpleTypeConverter.convertTo(SimpleTypeConverter.java:99)
> ... 96 more
> {code}
> Maybe the documentation has not beed updated?
> [https://camel.apache.org/components/latest/timer-component.html]
> {code:java}
> from("timer://timer?fixedRate=true&period=10000")
> {code}
> works just fine.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)