The Onder's github repo is using camel 2.22.0 I think.

Il giorno gio 12 set 2019 alle ore 08:57 Zoran Regvart <zo...@regvart.com>
ha scritto:

> Hi Onder,
> on first look it seems that the
> KubernetesClusterServiceAutoConfiguration doesn't get injected with
> KubernetesClusterServiceConfiguration; i.e. here it is `null`[1].
>
> Adding a starter might have caused a change in the order of bean
> initialization. I would create a JIRA issue for this, not sure if we
> should declare those `@Autowired` annotations with `required=true`, or
> perhaps create a constructor that takes those parameters to signify
> that they're required.
>
> There's also that `--debug`[2] parameter that you can specify that
> might give more clues...
>
> zoran
>
> [1]
> https://github.com/apache/camel/blob/49ef644fa5c7352c7757a41e9893d2d107002543/platforms/spring-boot/components-starter/camel-kubernetes-starter/src/main/java/org/apache/camel/component/kubernetes/springboot/cluster/KubernetesClusterServiceAutoConfiguration.java#L38-L39
> [2]
> https://docs.spring.io/spring-boot/docs/2.1.8.RELEASE/reference/html/boot-features-spring-application.html#boot-features-startup-failure
>
> On Wed, Sep 11, 2019 at 5:37 PM Onder SEZGIN <ondersez...@gmail.com>
> wrote:
> >
> > Hi,
> >
> > i have a very similar usecase where i need to implement something very
> > similar what Nicola has written while ago.
> >
> > in my app, i have the very similar configuration and i also needed to
> > use camel-http-starter.
> > (of course there are bits and pieces but later on i narrowed down the
> error
> > that the issue is due to camel-http-starter)
> >
> > so simply in my final attempt, what i did to demo the problem was to
> > include the camel-http-starter to the original project where Nicola has
> > shared in this link.
> >
> > https://github.com/nicolaferraro/camel-leader-election
> >
> > so here is my clone with that small pom change to show the issue.
> >
> >
> https://github.com/onderson/camel-leader-election/commit/7d4afae97641c5ff703522e69f5ee152deb2f82f
> >
> > so while Nicola's example is perfectly fine, my example fails to start
> > failing and complaining about KubernetesClusterServiceAutoConfiguration
> > error as below.
> >
> > so is there any idea what might be causing this?
> >
> > 18:27:27.438 [restartedMain] ERROR o.s.boot.SpringApplication -    |   |
> > Application startup failed
> >
> > org.springframework.beans.factory.UnsatisfiedDependencyException: Error
> > creating bean with name 'cacheAutoConfigurationValidatorPostProcessor'
> > defined in class path resource
> >
> [org/apache/camel/component/http/springboot/HttpComponentSSLAutoConfiguration.class]:
> > Unsatisfied dependency expressed through method
> > 'cacheAutoConfigurationValidatorPostProcessor' parameter 0; nested
> > exception is org.springframework.beans.factory.BeanCreationException:
> Error
> > creating bean with name 'camelContext' defined in class path resource
> > [org/apache/camel/spring/boot/CamelAutoConfiguration.class]: Bean
> > instantiation via factory method failed; nested exception is
> > org.springframework.beans.BeanInstantiationException: Failed to
> instantiate
> > [org.apache.camel.CamelContext]: Factory method 'camelContext' threw
> > exception; nested exception is
> > org.springframework.beans.factory.BeanCreationException: Error creating
> > bean with name 'kubernetes-cluster-service' defined in class path
> resource
> >
> [org/apache/camel/component/kubernetes/springboot/cluster/KubernetesClusterServiceAutoConfiguration.class]:
> > Bean instantiation via factory method failed; nested exception is
> > org.springframework.beans.BeanInstantiationException: Failed to
> instantiate
> > [org.apache.camel.cluster.CamelClusterService]: Factory method
> > 'kubernetesClusterService' threw exception; nested exception is
> > java.lang.IllegalArgumentException: target must be specified
> >
> > at
> >
> org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(
> > ConstructorResolver.java:749)
> >
> > at
> >
> org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(
> > ConstructorResolver.java:467)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(
> > AbstractAutowireCapableBeanFactory.java:1178)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(
> > AbstractAutowireCapableBeanFactory.java:1072)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(
> > AbstractAutowireCapableBeanFactory.java:511)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(
> > AbstractAutowireCapableBeanFactory.java:481)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(
> > AbstractBeanFactory.java:312)
> >
> > at
> >
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(
> > DefaultSingletonBeanRegistry.java:230)
> >
> > at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(
> > AbstractBeanFactory.java:308)
> >
> > at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(
> > AbstractBeanFactory.java:202)
> >
> > at
> >
> org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(
> > PostProcessorRegistrationDelegate.java:176)
> >
> > at
> >
> org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(
> > AbstractApplicationContext.java:687)
> >
> > at
> org.springframework.context.support.AbstractApplicationContext.refresh(
> > AbstractApplicationContext.java:525)
> >
> > at
> >
> org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(
> > EmbeddedWebApplicationContext.java:122)
> >
> > at org.springframework.boot.SpringApplication.refresh(
> > SpringApplication.java:693)
> >
> > at org.springframework.boot.SpringApplication.refreshContext(
> > SpringApplication.java:360)
> >
> > at
> org.springframework.boot.SpringApplication.run(SpringApplication.java:303
> > )
> >
> > at org.springframework.boot.SpringApplication.run(
> > SpringApplication.java:1118)
> >
> > at org.springframework.boot.SpringApplication.run(
> > SpringApplication.java:1107)
> >
> > at
> uk.co.arcadiagroup.integration.spo.apll.drop.SpoApllDropApplication.main(
> > SpoApllDropApplication.java:29)
> >
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >
> > at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:62)
> >
> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> >
> > at java.lang.reflect.Method.invoke(Method.java:498)
> >
> > at org.springframework.boot.devtools.restart.RestartLauncher.run(
> > RestartLauncher.java:49)
> >
> > Caused by: org.springframework.beans.factory.BeanCreationException: Error
> > creating bean with name 'camelContext' defined in class path resource
> > [org/apache/camel/spring/boot/CamelAutoConfiguration.class]: Bean
> > instantiation via factory method failed; nested exception is
> > org.springframework.beans.BeanInstantiationException: Failed to
> instantiate
> > [org.apache.camel.CamelContext]: Factory method 'camelContext' threw
> > exception; nested exception is
> > org.springframework.beans.factory.BeanCreationException: Error creating
> > bean with name 'kubernetes-cluster-service' defined in class path
> resource
> >
> [org/apache/camel/component/kubernetes/springboot/cluster/KubernetesClusterServiceAutoConfiguration.class]:
> > Bean instantiation via factory method failed; nested exception is
> > org.springframework.beans.BeanInstantiationException: Failed to
> instantiate
> > [org.apache.camel.cluster.CamelClusterService]: Factory method
> > 'kubernetesClusterService' threw exception; nested exception is
> > java.lang.IllegalArgumentException: target must be specified
> >
> > at
> >
> org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(
> > ConstructorResolver.java:599)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(
> > AbstractAutowireCapableBeanFactory.java:1178)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(
> > AbstractAutowireCapableBeanFactory.java:1072)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(
> > AbstractAutowireCapableBeanFactory.java:511)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(
> > AbstractAutowireCapableBeanFactory.java:481)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(
> > AbstractBeanFactory.java:312)
> >
> > at
> >
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(
> > DefaultSingletonBeanRegistry.java:230)
> >
> > at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(
> > AbstractBeanFactory.java:308)
> >
> > at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(
> > AbstractBeanFactory.java:202)
> >
> > at
> >
> org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(
> > DependencyDescriptor.java:208)
> >
> > at
> >
> org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(
> > DefaultListableBeanFactory.java:1136)
> >
> > at
> >
> org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(
> > DefaultListableBeanFactory.java:1064)
> >
> > at
> >
> org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(
> > ConstructorResolver.java:835)
> >
> > at
> >
> org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(
> > ConstructorResolver.java:741)
> >
> > ... 24 common frames omitted
> >
> > Caused by: org.springframework.beans.BeanInstantiationException: Failed
> to
> > instantiate [org.apache.camel.CamelContext]: Factory method
> 'camelContext'
> > threw exception; nested exception is
> > org.springframework.beans.factory.BeanCreationException: Error creating
> > bean with name 'kubernetes-cluster-service' defined in class path
> resource
> >
> [org/apache/camel/component/kubernetes/springboot/cluster/KubernetesClusterServiceAutoConfiguration.class]:
> > Bean instantiation via factory method failed; nested exception is
> > org.springframework.beans.BeanInstantiationException: Failed to
> instantiate
> > [org.apache.camel.cluster.CamelClusterService]: Factory method
> > 'kubernetesClusterService' threw exception; nested exception is
> > java.lang.IllegalArgumentException: target must be specified
> >
> > at
> >
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(
> > SimpleInstantiationStrategy.java:189)
> >
> > at
> >
> org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(
> > ConstructorResolver.java:588)
> >
> > ... 37 common frames omitted
> >
> > Caused by: org.springframework.beans.factory.BeanCreationException: Error
> > creating bean with name 'kubernetes-cluster-service' defined in class
> path
> > resource
> >
> [org/apache/camel/component/kubernetes/springboot/cluster/KubernetesClusterServiceAutoConfiguration.class]:
> > Bean instantiation via factory method failed; nested exception is
> > org.springframework.beans.BeanInstantiationException: Failed to
> instantiate
> > [org.apache.camel.cluster.CamelClusterService]: Factory method
> > 'kubernetesClusterService' threw exception; nested exception is
> > java.lang.IllegalArgumentException: target must be specified
> >
> > at
> >
> org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(
> > ConstructorResolver.java:599)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(
> > AbstractAutowireCapableBeanFactory.java:1178)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(
> > AbstractAutowireCapableBeanFactory.java:1072)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(
> > AbstractAutowireCapableBeanFactory.java:511)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(
> > AbstractAutowireCapableBeanFactory.java:481)
> >
> > at
> >
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(
> > AbstractBeanFactory.java:312)
> >
> > at
> >
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(
> > DefaultSingletonBeanRegistry.java:230)
> >
> > at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(
> > AbstractBeanFactory.java:308)
> >
> > at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(
> > AbstractBeanFactory.java:202)
> >
> > at
> >
> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(
> > DefaultListableBeanFactory.java:519)
> >
> > at
> >
> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(
> > DefaultListableBeanFactory.java:508)
> >
> > at
> >
> org.springframework.context.support.AbstractApplicationContext.getBeansOfType(
> > AbstractApplicationContext.java:1188)
> >
> > at
> org.apache.camel.spring.boot.CamelAutoConfiguration.afterPropertiesSet(
> > CamelAutoConfiguration.java:468)
> >
> > at
> >
> org.apache.camel.spring.boot.CamelAutoConfiguration.doConfigureCamelContext(
> > CamelAutoConfiguration.java:235)
> >
> > at org.apache.camel.spring.boot.CamelAutoConfiguration.camelContext(
> > CamelAutoConfiguration.java:110)
> >
> > at
> >
> org.apache.camel.spring.boot.CamelAutoConfiguration$$EnhancerBySpringCGLIB$$1d7bacbe.CGLIB$camelContext$1(<generated>)
> >
> > at
> >
> org.apache.camel.spring.boot.CamelAutoConfiguration$$EnhancerBySpringCGLIB$$1d7bacbe$$FastClassBySpringCGLIB$$4bc32b82.invoke(<generated>)
> >
> > at org.springframework.cglib.proxy.MethodProxy.invokeSuper(
> > MethodProxy.java:228)
> >
> > at
> >
> org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(
> > ConfigurationClassEnhancer.java:358)
> >
> > at
> >
> org.apache.camel.spring.boot.CamelAutoConfiguration$$EnhancerBySpringCGLIB$$1d7bacbe.camelContext(<generated>)
> >
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >
> > at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:62)
> >
> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> >
> > at java.lang.reflect.Method.invoke(Method.java:498)
> >
> > at
> >
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(
> > SimpleInstantiationStrategy.java:162)
> >
> > ... 38 common frames omitted
> >
> > Caused by: org.springframework.beans.BeanInstantiationException: Failed
> to
> > instantiate [org.apache.camel.cluster.CamelClusterService]: Factory
> method
> > 'kubernetesClusterService' threw exception; nested exception is
> > java.lang.IllegalArgumentException: target must be specified
> >
> > at
> >
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(
> > SimpleInstantiationStrategy.java:189)
> >
> > at
> >
> org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(
> > ConstructorResolver.java:588)
> >
> > ... 62 common frames omitted
> >
> > Caused by: java.lang.IllegalArgumentException: target must be specified
> >
> > at org.apache.camel.util.ObjectHelper.notNull(ObjectHelper.java:323)
> >
> > at org.apache.camel.util.IntrospectionSupport.getProperties(
> > IntrospectionSupport.java:254)
> >
> > at org.apache.camel.util.IntrospectionSupport.getNonNullProperties(
> > IntrospectionSupport.java:222)
> >
> > at
> >
> org.apache.camel.component.kubernetes.springboot.cluster.KubernetesClusterServiceAutoConfiguration.kubernetesClusterService(
> > KubernetesClusterServiceAutoConfiguration.java:48)
> >
> > at
> >
> org.apache.camel.component.kubernetes.springboot.cluster.KubernetesClusterServiceAutoConfiguration$$EnhancerBySpringCGLIB$$cf38c630.CGLIB$kubernetesClusterService$0(<generated>)
> >
> > at
> >
> org.apache.camel.component.kubernetes.springboot.cluster.KubernetesClusterServiceAutoConfiguration$$EnhancerBySpringCGLIB$$cf38c630$$FastClassBySpringCGLIB$$5ef4b2e5.invoke(<generated>)
> >
> > at org.springframework.cglib.proxy.MethodProxy.invokeSuper(
> > MethodProxy.java:228)
> >
> > at
> >
> org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(
> > ConfigurationClassEnhancer.java:358)
> >
> > at
> >
> org.apache.camel.component.kubernetes.springboot.cluster.KubernetesClusterServiceAutoConfiguration$$EnhancerBySpringCGLIB$$cf38c630.kubernetesClusterService(<generated>)
> >
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >
> > at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:62)
> >
> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> >
> > at java.lang.reflect.Method.invoke(Method.java:498)
> >
> > at
> >
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(
> > SimpleInstantiationStrategy.java:162)
> >
> > ... 63 common frames omitted
>
>
>
> --
> Zoran Regvart
>

Reply via email to