You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Markus Steiner <sc...@yahoo.com.INVALID> on 2020/06/20 10:28:59 UTC

Regression after upgrading to Apache Camel 3.4.0

 Hi
Following is my setup before trying to upgrade:
- Apache Camel 3.3.0- Spring-Boot 2.2.7.RELEASE- Using camel-restdsl-openapi-plugin with the goal generate-xml- Using openapi-generator-maven-plugin to generate classes from the given spec file- camel-servlet-starter dependency is given inside POM
Changes done for the upgrade:
- Apache Camel from 3.3.0 to 3.4.0- Spring-Boot from 2.2.7.RELEASE to 2.3.0.RELEASE
Now all integration tests are suddenly failing with a Http 404 instead of Http 202 as trying to invoke the rest endpoint through the generated camel-rest.xml. I tracked it down up to the point where I can see that ServletComponent#connect method is not being invoked at all:
https://github.com/apache/camel/blob/master/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java#L183-L191
So why 404 as there're no registered consumer for the given rest endpoint.
Do you maybe have an idea what the problem could be?
Thanks in advance

Re: Regression after upgrading to Apache Camel 3.4.0

Posted by Markus Steiner <sc...@yahoo.com.INVALID>.
Thanks, checked it here but didn‘t find anything in that direction:

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes

> Am 23.06.2020 um 06:42 schrieb Claus Ibsen <cl...@gmail.com>:
> 
> Hi
> 
> Okay maybe take a look at the SB upgrade guide, they may say something
> about servlets (eg there may be some changes there)
> 
>> On Mon, Jun 22, 2020 at 9:58 PM Markus Steiner
>> <sc...@yahoo.com.invalid> wrote:
>> 
>> Hi Claus
>> Thanks for your reply.
>> Unfortunately I will not be able to provide a reproducer but what I definitely can confirm is that the breaking change seems to be in Spring Boot. If I upgrade to Camel 3.4.0 but leave the used Spring Boot to be 2.2.7 (as in Camel 3.3.0) or upgrade it to only 2.2.8 then there will be no HTTP 404 as ServletComponentAutoConfiguration#configureServletComponent would still kick-in.
>> Upgrading to Spring Boot 2.3.0 or 2.3.1 would then cause the regression as ServletComponentAutoConfiguration#configureServletComponent wouldn't get triggered anymore!
>> PS: There's no Spring Boot 2.2.9 to try out.
>>    On Sunday, June 21, 2020, 01:39:58 PM GMT+2, Claus Ibsen <cl...@gmail.com> wrote:
>> 
>> Hi Markus
>> 
>> Thanks for reporting and diving into the issue and spotting where
>> there may be a problem.
>> You are welcome to creat a JIRA so we wont forget. If you are able to
>> put together a sample sample project and add as .zip to the JIRA or
>> put on github etc somewhere then its easier for us to use as
>> reproducer.
>> 
>>> On Sat, Jun 20, 2020 at 8:58 PM Markus Steiner
>>> <sc...@yahoo.com.invalid> wrote:
>>> 
>>> O.K. the problem seems that spring-boot autoconfiguration for ServletComponent, for whatever reason doesn't kick in. In Camel 3.3.0 debug logs I see:
>>> 2020-06-20 12:35:39.063 DEBUG 13858 --- [          main] org.apache.camel.support.ResolverHelper  : Lookup Component with name servlet in registry. Found: null
>>> 2020-06-20 12:35:39.063 DEBUG 13858 --- [          main] o.s.b.f.s.DefaultListableBeanFactory    : Creating shared instance of singleton bean 'servlet-component'However upgrading to Camel 3.4.0 the logs above are missing! I guess the relevant code is here:
>>> https://github.com/apache/camel-spring-boot/blob/master/components-starter/camel-servlet-starter/src/main/java/org/apache/camel/component/servlet/springboot/ServletComponentAutoConfiguration.java#L80
>>> Any help is much appreciated.
>>> Thanks in advance.
>>> 
>>> 
>>>>   On Saturday, June 20, 2020, 03:12:26 PM GMT+2, Markus Steiner <sc...@yahoo.com.invalid> wrote:
>>> 
>>> Hi
>>> 
>>> Following is my setup before trying to upgrade:
>>> 
>>> - Apache Camel 3.3.0
>>> - Spring-Boot 2.2.7.RELEASE
>>> - Using camel-restdsl-openapi-plugin with the goal generate-xml
>>> - Using openapi-generator-maven-plugin to generate classes from the given spec file
>>> - camel-servlet-starter dependency is given inside POM
>>> 
>>> So far all the integration Test passing well.
>>> 
>>> Changes done for the upgrade:
>>> - Apache Camel upgraded  to 3.4.0
>>> - Spring-Boot upgraded to 2.3.0.RELEASE
>>> 
>>> Now all integration tests are suddenly failing with a Http 404 instead of Http 202 as trying to invoke the rest endpoint through the generated camel-rest.xml. I tracked it down up to the point where I can see that ServletComponent#connect method is not being invoked at all:
>>> 
>>> https://github.com/apache/camel/blob/master/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java#L183-L191
>>> 
>>> So why 404 as there's no registered consumer for that rest endpoint.
>>> 
>>> Do you maybe have an idea what the problem could be?
>>> 
>>> Thanks in advance
>> 
>> 
>> 
>> --
>> Claus Ibsen
>> -----------------
>> http://davsclaus.com @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2
> 
> 
> 
> -- 
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2

Re: Regression after upgrading to Apache Camel 3.4.0

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Okay maybe take a look at the SB upgrade guide, they may say something
about servlets (eg there may be some changes there)

On Mon, Jun 22, 2020 at 9:58 PM Markus Steiner
<sc...@yahoo.com.invalid> wrote:
>
>  Hi Claus
> Thanks for your reply.
> Unfortunately I will not be able to provide a reproducer but what I definitely can confirm is that the breaking change seems to be in Spring Boot. If I upgrade to Camel 3.4.0 but leave the used Spring Boot to be 2.2.7 (as in Camel 3.3.0) or upgrade it to only 2.2.8 then there will be no HTTP 404 as ServletComponentAutoConfiguration#configureServletComponent would still kick-in.
> Upgrading to Spring Boot 2.3.0 or 2.3.1 would then cause the regression as ServletComponentAutoConfiguration#configureServletComponent wouldn't get triggered anymore!
> PS: There's no Spring Boot 2.2.9 to try out.
>     On Sunday, June 21, 2020, 01:39:58 PM GMT+2, Claus Ibsen <cl...@gmail.com> wrote:
>
>  Hi Markus
>
> Thanks for reporting and diving into the issue and spotting where
> there may be a problem.
> You are welcome to creat a JIRA so we wont forget. If you are able to
> put together a sample sample project and add as .zip to the JIRA or
> put on github etc somewhere then its easier for us to use as
> reproducer.
>
> On Sat, Jun 20, 2020 at 8:58 PM Markus Steiner
> <sc...@yahoo.com.invalid> wrote:
> >
> >  O.K. the problem seems that spring-boot autoconfiguration for ServletComponent, for whatever reason doesn't kick in. In Camel 3.3.0 debug logs I see:
> > 2020-06-20 12:35:39.063 DEBUG 13858 --- [          main] org.apache.camel.support.ResolverHelper  : Lookup Component with name servlet in registry. Found: null
> > 2020-06-20 12:35:39.063 DEBUG 13858 --- [          main] o.s.b.f.s.DefaultListableBeanFactory    : Creating shared instance of singleton bean 'servlet-component'However upgrading to Camel 3.4.0 the logs above are missing! I guess the relevant code is here:
> > https://github.com/apache/camel-spring-boot/blob/master/components-starter/camel-servlet-starter/src/main/java/org/apache/camel/component/servlet/springboot/ServletComponentAutoConfiguration.java#L80
> > Any help is much appreciated.
> > Thanks in advance.
> >
> >
> >    On Saturday, June 20, 2020, 03:12:26 PM GMT+2, Markus Steiner <sc...@yahoo.com.invalid> wrote:
> >
> >  Hi
> >
> > Following is my setup before trying to upgrade:
> >
> > - Apache Camel 3.3.0
> > - Spring-Boot 2.2.7.RELEASE
> > - Using camel-restdsl-openapi-plugin with the goal generate-xml
> > - Using openapi-generator-maven-plugin to generate classes from the given spec file
> > - camel-servlet-starter dependency is given inside POM
> >
> > So far all the integration Test passing well.
> >
> > Changes done for the upgrade:
> > - Apache Camel upgraded  to 3.4.0
> > - Spring-Boot upgraded to 2.3.0.RELEASE
> >
> > Now all integration tests are suddenly failing with a Http 404 instead of Http 202 as trying to invoke the rest endpoint through the generated camel-rest.xml. I tracked it down up to the point where I can see that ServletComponent#connect method is not being invoked at all:
> >
> > https://github.com/apache/camel/blob/master/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java#L183-L191
> >
> > So why 404 as there's no registered consumer for that rest endpoint.
> >
> > Do you maybe have an idea what the problem could be?
> >
> > Thanks in advance
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Re: Regression after upgrading to Apache Camel 3.4.0

Posted by Markus Steiner <sc...@yahoo.com.INVALID>.
 Hi Claus
Thanks for your reply.
Unfortunately I will not be able to provide a reproducer but what I definitely can confirm is that the breaking change seems to be in Spring Boot. If I upgrade to Camel 3.4.0 but leave the used Spring Boot to be 2.2.7 (as in Camel 3.3.0) or upgrade it to only 2.2.8 then there will be no HTTP 404 as ServletComponentAutoConfiguration#configureServletComponent would still kick-in.
Upgrading to Spring Boot 2.3.0 or 2.3.1 would then cause the regression as ServletComponentAutoConfiguration#configureServletComponent wouldn't get triggered anymore!
PS: There's no Spring Boot 2.2.9 to try out.
    On Sunday, June 21, 2020, 01:39:58 PM GMT+2, Claus Ibsen <cl...@gmail.com> wrote:  
 
 Hi Markus

Thanks for reporting and diving into the issue and spotting where
there may be a problem.
You are welcome to creat a JIRA so we wont forget. If you are able to
put together a sample sample project and add as .zip to the JIRA or
put on github etc somewhere then its easier for us to use as
reproducer.

On Sat, Jun 20, 2020 at 8:58 PM Markus Steiner
<sc...@yahoo.com.invalid> wrote:
>
>  O.K. the problem seems that spring-boot autoconfiguration for ServletComponent, for whatever reason doesn't kick in. In Camel 3.3.0 debug logs I see:
> 2020-06-20 12:35:39.063 DEBUG 13858 --- [          main] org.apache.camel.support.ResolverHelper  : Lookup Component with name servlet in registry. Found: null
> 2020-06-20 12:35:39.063 DEBUG 13858 --- [          main] o.s.b.f.s.DefaultListableBeanFactory    : Creating shared instance of singleton bean 'servlet-component'However upgrading to Camel 3.4.0 the logs above are missing! I guess the relevant code is here:
> https://github.com/apache/camel-spring-boot/blob/master/components-starter/camel-servlet-starter/src/main/java/org/apache/camel/component/servlet/springboot/ServletComponentAutoConfiguration.java#L80
> Any help is much appreciated.
> Thanks in advance.
>
>
>    On Saturday, June 20, 2020, 03:12:26 PM GMT+2, Markus Steiner <sc...@yahoo.com.invalid> wrote:
>
>  Hi
>
> Following is my setup before trying to upgrade:
>
> - Apache Camel 3.3.0
> - Spring-Boot 2.2.7.RELEASE
> - Using camel-restdsl-openapi-plugin with the goal generate-xml
> - Using openapi-generator-maven-plugin to generate classes from the given spec file
> - camel-servlet-starter dependency is given inside POM
>
> So far all the integration Test passing well.
>
> Changes done for the upgrade:
> - Apache Camel upgraded  to 3.4.0
> - Spring-Boot upgraded to 2.3.0.RELEASE
>
> Now all integration tests are suddenly failing with a Http 404 instead of Http 202 as trying to invoke the rest endpoint through the generated camel-rest.xml. I tracked it down up to the point where I can see that ServletComponent#connect method is not being invoked at all:
>
> https://github.com/apache/camel/blob/master/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java#L183-L191
>
> So why 404 as there's no registered consumer for that rest endpoint.
>
> Do you maybe have an idea what the problem could be?
>
> Thanks in advance



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2  

Re: Regression after upgrading to Apache Camel 3.4.0

Posted by Claus Ibsen <cl...@gmail.com>.
Hi Markus

Thanks for reporting and diving into the issue and spotting where
there may be a problem.
You are welcome to creat a JIRA so we wont forget. If you are able to
put together a sample sample project and add as .zip to the JIRA or
put on github etc somewhere then its easier for us to use as
reproducer.

On Sat, Jun 20, 2020 at 8:58 PM Markus Steiner
<sc...@yahoo.com.invalid> wrote:
>
>  O.K. the problem seems that spring-boot autoconfiguration for ServletComponent, for whatever reason doesn't kick in. In Camel 3.3.0 debug logs I see:
> 2020-06-20 12:35:39.063 DEBUG 13858 --- [           main] org.apache.camel.support.ResolverHelper  : Lookup Component with name servlet in registry. Found: null
> 2020-06-20 12:35:39.063 DEBUG 13858 --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Creating shared instance of singleton bean 'servlet-component'However upgrading to Camel 3.4.0 the logs above are missing! I guess the relevant code is here:
> https://github.com/apache/camel-spring-boot/blob/master/components-starter/camel-servlet-starter/src/main/java/org/apache/camel/component/servlet/springboot/ServletComponentAutoConfiguration.java#L80
> Any help is much appreciated.
> Thanks in advance.
>
>
>     On Saturday, June 20, 2020, 03:12:26 PM GMT+2, Markus Steiner <sc...@yahoo.com.invalid> wrote:
>
>  Hi
>
> Following is my setup before trying to upgrade:
>
> - Apache Camel 3.3.0
> - Spring-Boot 2.2.7.RELEASE
> - Using camel-restdsl-openapi-plugin with the goal generate-xml
> - Using openapi-generator-maven-plugin to generate classes from the given spec file
> - camel-servlet-starter dependency is given inside POM
>
> So far all the integration Test passing well.
>
> Changes done for the upgrade:
> - Apache Camel upgraded  to 3.4.0
> - Spring-Boot upgraded to 2.3.0.RELEASE
>
> Now all integration tests are suddenly failing with a Http 404 instead of Http 202 as trying to invoke the rest endpoint through the generated camel-rest.xml. I tracked it down up to the point where I can see that ServletComponent#connect method is not being invoked at all:
>
> https://github.com/apache/camel/blob/master/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java#L183-L191
>
> So why 404 as there's no registered consumer for that rest endpoint.
>
> Do you maybe have an idea what the problem could be?
>
> Thanks in advance



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Re: Regression after upgrading to Apache Camel 3.4.0

Posted by Markus Steiner <sc...@yahoo.com.INVALID>.
 O.K. the problem seems that spring-boot autoconfiguration for ServletComponent, for whatever reason doesn't kick in. In Camel 3.3.0 debug logs I see:
2020-06-20 12:35:39.063 DEBUG 13858 --- [           main] org.apache.camel.support.ResolverHelper  : Lookup Component with name servlet in registry. Found: null
2020-06-20 12:35:39.063 DEBUG 13858 --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Creating shared instance of singleton bean 'servlet-component'However upgrading to Camel 3.4.0 the logs above are missing! I guess the relevant code is here:
https://github.com/apache/camel-spring-boot/blob/master/components-starter/camel-servlet-starter/src/main/java/org/apache/camel/component/servlet/springboot/ServletComponentAutoConfiguration.java#L80
Any help is much appreciated.
Thanks in advance.


    On Saturday, June 20, 2020, 03:12:26 PM GMT+2, Markus Steiner <sc...@yahoo.com.invalid> wrote:  
 
 Hi

Following is my setup before trying to upgrade:

- Apache Camel 3.3.0
- Spring-Boot 2.2.7.RELEASE
- Using camel-restdsl-openapi-plugin with the goal generate-xml
- Using openapi-generator-maven-plugin to generate classes from the given spec file
- camel-servlet-starter dependency is given inside POM

So far all the integration Test passing well.

Changes done for the upgrade:
- Apache Camel upgraded  to 3.4.0
- Spring-Boot upgraded to 2.3.0.RELEASE

Now all integration tests are suddenly failing with a Http 404 instead of Http 202 as trying to invoke the rest endpoint through the generated camel-rest.xml. I tracked it down up to the point where I can see that ServletComponent#connect method is not being invoked at all:

https://github.com/apache/camel/blob/master/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java#L183-L191

So why 404 as there's no registered consumer for that rest endpoint.

Do you maybe have an idea what the problem could be?

Thanks in advance  

Regression after upgrading to Apache Camel 3.4.0

Posted by Markus Steiner <sc...@yahoo.com.INVALID>.
Hi

Following is my setup before trying to upgrade:

- Apache Camel 3.3.0
- Spring-Boot 2.2.7.RELEASE
- Using camel-restdsl-openapi-plugin with the goal generate-xml
- Using openapi-generator-maven-plugin to generate classes from the given spec file
- camel-servlet-starter dependency is given inside POM

So far all the integration Test passing well.

Changes done for the upgrade:
- Apache Camel upgraded  to 3.4.0
- Spring-Boot upgraded to 2.3.0.RELEASE

Now all integration tests are suddenly failing with a Http 404 instead of Http 202 as trying to invoke the rest endpoint through the generated camel-rest.xml. I tracked it down up to the point where I can see that ServletComponent#connect method is not being invoked at all:

https://github.com/apache/camel/blob/master/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletComponent.java#L183-L191

So why 404 as there's no registered consumer for that rest endpoint.

Do you maybe have an idea what the problem could be?

Thanks in advance