citrus-simulator icon indicating copy to clipboard operation
citrus-simulator copied to clipboard

Consider adding Spring Boot 2 support

Open snicoll opened this issue 7 years ago β€’ 47 comments

Relates to https://github.com/spring-projects/spring-boot/issues/13510

We are reviewing our community starters list and a quick look here suggests that this starter doesn’t yet support Spring Boot 2.

Can you please let us know if/when you plan to support Spring Boot 2?

Thanks!

snicoll avatar Jun 21 '18 09:06 snicoll

Thanks for letting me know in advance. The upgrade to boot 2.x is planned. I will check over the weekend what it takes for us to upgrade. I am positive that it is no major effort and that we can do the upgrade as soon as possible.

Have to check for the transitive dependencies that use Spring weather they already did the upgrade to 5.x and boot 2.x πŸ˜„

christophd avatar Jun 21 '18 11:06 christophd

Just wanted to add that Citrus Simulator v1.0.2 does not work with Spring Boot 2: the SimulatorEndpointAdapter always times out waiting for a scenario response: "No response for scenario". Of course it works fine with Spring Boot 1.5.x.

klr8 avatar Oct 02 '18 12:10 klr8

Hi!

The changes @christophd has made are currently in the master but not released yet.

BR, Sven

svettwer avatar Oct 06 '18 16:10 svettwer

Hi, Are these changes releases in any latest versions? i am using 'citrus-core', version: 2.8.0 with spring boot version 2.0.2, and getting timeout from mocked servers created in citrus after spring boot upgrade.

ektadubey avatar Apr 12 '19 08:04 ektadubey

Hi!

The update is currently in the master but not released yet.

BR, Sven

svettwer avatar Apr 15 '19 13:04 svettwer

Hi,

do you have any estimation of when new release becomes available?

Thanks.

tomastak avatar Apr 24 '19 07:04 tomastak

Hi!

We've no released planned but as this update is requested more often, I'll see what I can do in the near future.

BR, Sven

svettwer avatar Apr 24 '19 08:04 svettwer

Hi,

thank you for considering of new release.

Meanwhile, I would like to use SNAPSHOT version of citrus-simulator but I couldn't find it in your snapshot repo. All other projects are there. Could you please check?

Thank you. Tomas

tomastak avatar Apr 30 '19 10:04 tomastak

Hi @svettwer Why won't you release 1.1.0? Is there anything left to do? I'd also contribute to the project.. Because using the SNAPSHOT-version is not an option for me - "latest is not a version". Many thanks

bbortt avatar May 20 '19 09:05 bbortt

Hi @bbortt!

Why won't you release 1.1.0?

It is simply lack of time and resources as I am working on customer projects. We had some issues with the Spring Boot 2 update but I currently can not remember whether they have been solved or not. This is something I would have to investigate before a release makes sense to me.

BR, Sven

svettwer avatar May 20 '19 09:05 svettwer

+1

Hi @svettwer! It would be really nice to be able to upgrade to Spring Boot 2, since 1.5 is not compatible with Java 11+. Do you have any estimation for a potential release?

Thanks -- Christian

boskoop avatar Jun 17 '19 11:06 boskoop

Hi @svettwer , @boskoop

As stated

I'd also contribute to the project..

We also partially tested the SOAP-Simulator using the 1.1.0-SNAPSHOT version. Only issue we found so far:

Caused by: org.springframework.beans.factory.support.BeanDefinitionOverrideException: Invalid bean definition with name 'messageDispatcherServlet' defined in class path resource [org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.class]: Cannot register bean definition [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration; factoryMethodName=messageDispatcherServlet; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.class]] for bean 'messageDispatcherServlet': There is already [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=com.consol.citrus.simulator.starter.ws.SimulatorWebServiceAutoConfiguration; factoryMethodName=messageDispatcherServlet; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [com/consol/citrus/simulator/starter/ws/SimulatorWebServiceAutoConfiguration.class]] bound.

We temporarily fixed it using the following configuration:

# Overriding 'messageDispatcherServlet' by Citrus
spring.main.allow-bean-definition-overriding = true

We had some issues with the Spring Boot 2 update but I currently can not remember whether they have been solved or not.

Was it something similar to our problem? I'll try to reproduce it in a separate fork. And if there's anything else I'd be happy to help πŸ‘

BR, Timon

bbortt avatar Jun 17 '19 11:06 bbortt

Hi!πŸ‘‹ Thx a lot for your help. Unfortunately I had no time to investigate this any further. Any PR on this will be highly appreciated! As soon as we have a stable spring boot 2 version, I'll release the next simulator version.

BR, Sven

svettwer avatar Jun 17 '19 11:06 svettwer

It would be really nice to be able to upgrade to Spring Boot 2, since 1.5 is not compatible with Java 11+

@boskoop FTR that's certainly not the main reason why one should consider upgrading. Spring Boot 1.5.x will be EOLed this summer on August 1st.

As soon as we have a stable spring boot 2 version

@svettwer what do you mean by "stable spring boot 2 version"? Is there something in Spring Boot that's not working for you? If so, please let us know.

snicoll avatar Jun 17 '19 12:06 snicoll

Hiho!

Sorry, was in a hurry a little bit today. Spring Boot itself works fine. I build up apps with Spring Boot on a regular basis and love it. What I wanted to say with a "stable spring boot 2 version" was, that I want to make sure, we have a stable citrus simulator version using spring boot 2 before I release. My last info from a contributor was, that there were some issues while upgrading. I will have a look and try to understand what the issue was... Because the current master build on travis is stable. :thinking:

svettwer avatar Jun 17 '19 20:06 svettwer

Upgrading to the snapshot version was (at least in our project) no problem at all.. except the little hack I mentioned here.

bbortt avatar Jun 18 '19 10:06 bbortt

Upgrading to the snapshot version was (at least in our project) no problem at all.

Having to enable bean overriding is actually a problem, a library should not force you to do that. It's potentially hiding a potential problem as well so I agree this should be fixed before cutting a release here.

snicoll avatar Jun 18 '19 11:06 snicoll

Hi everybody!

So according to the EOL of Spring Boot 1.5.x (thx @snicoll for the reminder), we will release a Spring Boot 2 version of the simulator in July. From tomorrow on, I am on a motorcycle road trip until June 30th. Because there is not much space for luggage, I will not be able to take a laptop with me. I'll take care of this issue and finalize the release, when I am back. Every PR concerning this topic would be highly appreciated.

Until then: Thx for all the help and the great conversation. :smile: :+1:

BR, Sven

svettwer avatar Jun 19 '19 13:06 svettwer

Hi everybody

I will be pretty active today.. updating all POMs as well as the build, preparing for openjdk11 on Travis. Also it's now clear to me why the "bean-overriding problem" exists. I will fix this as well. As long as the build is green after all, I think we will be ready for the major release πŸš€

See you in the PR's :)

bbortt avatar Jun 20 '19 07:06 bbortt

Documentation should also be updated. I'll do a PR.

boskoop avatar Jul 05 '19 16:07 boskoop

Hi Can you please clarify if the new simulator version supporting Spring boot 2 is close to release? Also can you please suggest where the snapshot builds for citrus-simulator are stored..

nikhil6686 avatar Jul 22 '19 03:07 nikhil6686

Hi @nikhil6686, the release is as close as #65 being merged, I think. With this the build would support Spring Boot 2.0 as well as JDK 11.

bbortt avatar Jul 22 '19 05:07 bbortt

Thanks for the response @bbortt , looking forward to the merge and subsequent release.

nikhil6686 avatar Jul 22 '19 10:07 nikhil6686

Hi @nikhil6686, hi @bbortt!

Yes, there is not much to do until the next release, I think. As I am currently heavily bound in customer projects and no simulator release is required from that, there is no time left to perform the review/merge/release. In addition, I moved homes last week. That's why I cannot spent so much spare time into the project. Therefore I can not provide a release date but hope that I'll be able to spent some time in the next months.

BR, Sven

svettwer avatar Jul 23 '19 13:07 svettwer

Hi @svettwer!

The last update is now almost a month old. Do you have any update on a potential release date for the next version?

Thanks -- Christian

boskoop avatar Aug 21 '19 12:08 boskoop

and another month has gone to hell. still no merged pullrequest nor feedback on those. I really think this project is a great way to automate a certain level of testing. but it is no longer useful as it is. the code is out of date with an unknown amount of bugs fixed in the newer dependency versions. and almost unmaintained. I can just repeat my thoughts: please recruit more active (and probably company-external) maintainers. if you cannot actively maintain and develop the project, maybe we can together! another way is to fork, rebrand and republish the whole source. which will be necessary in the near future, because we cannot continue with a deprecated source. I really wish this will not happen, but I'm honestly close to doing it.

bbortt avatar Sep 25 '19 07:09 bbortt

Hi! We are working on exactly that. Opening up the project to external developers and this task currently consumes all the time I can currently spent on the project as it is a political task with a lot more people involved as in the development.

BR Sven

svettwer avatar Sep 25 '19 07:09 svettwer

huh.. "political issues" in programming sounds familiar to me.. big company, right? ;) anyway, sounds great. looking forward to be part of the community!

bbortt avatar Sep 25 '19 08:09 bbortt

big company, right?

It depends on how you define "big" :wink: But believe me, I'll be so glad if we're through this.

svettwer avatar Sep 26 '19 07:09 svettwer

Hey @svettwer

Any update on the next release? The PRs are now waiting for almost 1/4 of a year.

Thanks -- Christian

boskoop avatar Oct 30 '19 13:10 boskoop