[ https://issues.apache.org/jira/browse/CAMEL-19864?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17770152#comment-17770152 ]
Karen Lease commented on CAMEL-19864: ------------------------------------- Gave up on this approach because it causes issues for the generated Spring schema file and also the documentation pages. In fact this default value, and others for the UniVocity parsers, are not defaults on the Camel dataformat but on the underlying Univocity parser configuration. However, the Camel Spring Boot auto configuration attempts to set them as properties when it instantiates the Camel dataformat. Based on the suggestion from [~davsclaus], decided the path of least resistance is to remove the default value from the Metadata annotation for UniVocityAbstractDataFormat. > spring-boot - Fix integration test CamelUnivocityParsersTest > ------------------------------------------------------------ > > Key: CAMEL-19864 > URL: https://issues.apache.org/jira/browse/CAMEL-19864 > Project: Camel > Issue Type: Task > Components: camel-univocity-parsers > Reporter: Nicolas Filotto > Assignee: Karen Lease > Priority: Major > > The spring boot integration test of the component {{camel-univocity-parsers}} > is failing on the CI, so it needs to be investigated and fixed > {code:java} > [ERROR] Errors: > [ERROR] > org.apache.camel.itest.springboot.CamelUnivocityParsersTest.componentTests > [ERROR] Run 1: > CamelUnivocityParsersTest.componentTests:43->AbstractSpringBootTestSupport.runDataformatTest:80 > » Error while executing tests. Wrapped exception is: > java.util.concurrent.ExecutionException: > org.apache.camel.PropertyBindingException: Error binding property > (normalizedLineSeparator=#bean:\n) with name: normalizedLineSeparator on > bean: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat@13dd383c > with value: #bean:\n > at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) > at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) > at > org.apache.camel.itest.springboot.CommandRouter.execute(CommandRouter.java:48) > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:568) > at > org.apache.camel.itest.springboot.util.SpringBootContainerFacade.execute(SpringBootContainerFacade.java:50) > at > org.apache.camel.itest.springboot.util.SpringBootContainerFacade.executeTest(SpringBootContainerFacade.java:39) > at > org.apache.camel.itest.springboot.AbstractSpringBootTestSupport.runDataformatTest(AbstractSpringBootTestSupport.java:80) > at > org.apache.camel.itest.springboot.CamelUnivocityParsersTest.componentTests(CamelUnivocityParsersTest.java:43) > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:568) > at > org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728) > at > org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) > at > org.jboss.arquillian.junit5.ArquillianExtension.interceptTestMethod(ArquillianExtension.java:88) > at > org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103) > at > org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) > at > org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156) > at > org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147) > at > org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86) > at > org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103) > at > org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) > at > org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92) > at > org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:218) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:214) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:139) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) > at > org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) > at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) > at > org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) > at > org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) > at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) > at > org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) > at > org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) > at > org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) > at > org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) > at > org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:198) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:169) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:93) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:58) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:141) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:57) > at > org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103) > at > org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85) > at > org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47) > at > org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:63) > at > org.jboss.arquillian.junit5.container.JUnitJupiterTestRunner.execute(JUnitJupiterTestRunner.java:57) > at > org.jboss.arquillian.protocol.jmx.JMXTestRunner.doRunTestMethod(JMXTestRunner.java:153) > at > org.jboss.arquillian.protocol.jmx.JMXTestRunner.runTestMethodInternal(JMXTestRunner.java:137) > at > org.jboss.arquillian.protocol.jmx.JMXTestRunner.runTestMethod(JMXTestRunner.java:119) > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:568) > at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:72) > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:568) > at java.base/sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:262) > at > java.management/com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112) > at > java.management/com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46) > at > java.management/com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) > at > java.management/com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) > at > java.management/com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) > at > java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:814) > at > java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802) > at > java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1472) > at > java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1310) > at > java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1405) > at > java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:568) > at > java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) > at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) > at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) > at > java.base/java.security.AccessController.doPrivileged(AccessController.java:712) > at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) > at > java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587) > at > java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) > at > java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705) > at > java.base/java.security.AccessController.doPrivileged(AccessController.java:399) > at > java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) > at java.base/java.lang.Thread.run(Thread.java:833) > Caused by: org.apache.camel.PropertyBindingException: Error binding property > (normalizedLineSeparator=#bean:\n) with name: normalizedLineSeparator on > bean: org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat@13dd383c > with value: #bean:\n > at > org.apache.camel.support.PropertyBindingSupport.doSetPropertyValue(PropertyBindingSupport.java:541) > at > org.apache.camel.support.PropertyBindingSupport.doBuildPropertyOgnlPath(PropertyBindingSupport.java:417) > at > org.apache.camel.support.PropertyBindingSupport.doBindProperties(PropertyBindingSupport.java:297) > at > org.apache.camel.support.PropertyBindingSupport$Builder.bind(PropertyBindingSupport.java:1920) > at > org.apache.camel.spring.boot.util.CamelPropertiesHelper.setCamelProperties(CamelPropertiesHelper.java:117) > at > org.apache.camel.spring.boot.util.CamelPropertiesHelper.copyProperties(CamelPropertiesHelper.java:47) > at > org.apache.camel.dataformat.univocity.springboot.UniVocityCsvDataFormatAutoConfiguration$1.configure(UniVocityCsvDataFormatAutoConfiguration.java:66) > at > org.apache.camel.impl.engine.CustomizersLifecycleStrategy.lambda$onDataFormatCreated$5(CustomizersLifecycleStrategy.java:68) > at > java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) > at > java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) > at > java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357) > at > java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) > at > java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) > at > java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) > at > java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) > at > java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) > at > java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) > at > org.apache.camel.impl.engine.CustomizersLifecycleStrategy.onDataFormatCreated(CustomizersLifecycleStrategy.java:68) > at > org.apache.camel.impl.engine.AbstractCamelContext.doResolveDataFormat(AbstractCamelContext.java:3512) > at > org.apache.camel.impl.engine.AbstractCamelContext.lambda$resolveDataFormat$7(AbstractCamelContext.java:3525) > at > java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) > at > org.apache.camel.impl.engine.AbstractCamelContext.resolveDataFormat(AbstractCamelContext.java:3525) > at > org.apache.camel.itest.springboot.command.DataFormatTestCommand.executeTest(DataFormatTestCommand.java:46) > at > org.apache.camel.itest.springboot.command.DataFormatTestCommand.executeTest(DataFormatTestCommand.java:33) > at > org.apache.camel.itest.springboot.command.AbstractTestCommand.execute(AbstractTestCommand.java:50) > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:568) > at > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) > at > org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > ... 3 more > Caused by: org.apache.camel.NoSuchBeanException: No bean could be found in > the registry for: \n > at > org.apache.camel.support.CamelContextHelper.mandatoryLookup(CamelContextHelper.java:223) > at > org.apache.camel.support.PropertyBindingSupport.resolveBean(PropertyBindingSupport.java:1597) > at > org.apache.camel.support.PropertyBindingSupport.resolveValue(PropertyBindingSupport.java:895) > at > org.apache.camel.support.PropertyBindingSupport.doSetPropertyValue(PropertyBindingSupport.java:527) > ... 36 more{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)