Kamil created CAMEL-15021:
-----------------------------

             Summary: 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


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)

Reply via email to