CamelConfiguration deprecated and removed - spring

I'm using camel with this class in a non spring boot project :
org.apache.camel.spring.javaconfig.CamelConfiguration;
I'm in camel 3.14.1
When i want to update camel to 3.16.0 or more, this class was removed
I find solution to replace this class by using camel-spring-boot-starter but i'm not in spring-boot app...
For now i have force camel to 3.16.0 and force add this dependency:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring-javaconfig</artifactId>
<version>3.14.1</version>
</dependency>
It work but i want to remove this... any solution?
Thanks

Related

Spring Boot 3 JSP Issue

I've been having issues with JSP since moving to Java 17 and Spring Boot 3. I know that we need to use jakarta.* instead of javax.*, but is there something I'm missing? I am using Spring Tools 4 and just running a basic web app using JSP. When using the following dependencies
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jakarta.servlet.jsp.jstl</artifactId>
</dependency>
The project runs, but I get the following error
The superclass "javax.servlet.http.HttpServlet", determined from the Dynamic Web Module facet version (2.5), was not found on the Java Build Path
I can get rid of it by adding the javax servlet dependency
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
But that goes against using javax.* dependencies with Spring Boot 3.
I have read these articles and tried adding the jakarta.servlet.jsp dependency with no luck.
https://debugah.com/solved-tomcat10-error-jakarta-servlet-servletexception-class-com-kuang-servlet-helloservlet-is-not-a-servlet-22749/
https://howtodoinjava.com/java/exception-handling/solved-the-superclass-javax-servlet-http-httpservlet-was-not-found-on-the-java-build-path-in-eclipse/
Solved!
All I had to do was go into Project Properties and under Project Faces, change my Dynamic Web Module from 2.5 to 5.0
The JSTL warning can be suppressed under Properties->Web->JSP Files->Validation->Custom actions->Other problems with TagExtraInfo class (Just change from 'Warning' to 'Ignore')

spring framework and webflux versions are incompatible

I have a old version spring-framework project. spring-framework version is 3.1.1.RELEASE. I need import webflux but versions are incompatible, so if i add these code in pom.xml:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webflux</artifactId>
<version>${spring.version}</version>
</dependency>
not work because spring-webflux:3.1.1.RELEASE is not published in maven repo. How can i solve this problem?
Thanks,
It was added in Spring 5. I am afraid you need to update to Spring 5.

QueryDslPredicateExecutor working with spring boot version 1.4.2.RELEASE but not working with spring boot version 2.2.6.RELEASE

When I try to migrate my Spring Boot application from version 1.4.2.RELEASE to version 2.2.6.RELEASE I found that org.springframework.data.querydsl.QueryDslPredicateExecutor not found
Cannot resolve symbol QueryDslPredicateExecutor
i should add spring-data-commons version 1.12.8.RELEASE
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>1.12.8.RELEASE</version>
</dependency>
and then i found another probleme
GitHub repo: https://github.com/dali05/SpringBootMultipleMavenModules
thnaks
Please note that the name of the class over time has been changed, in that one 'D' has changed from its uppercase to a lowercase 'd', ie: QueryDslPredicateExecutor is now QuerydslPredicateExecutor. Probably this caused some headache for you as it did for me too.
Refer to the class in your source code as QuerydslPredicateExecutor and your source code will build again.

Spring Cloud Feign + Sleuth + Zipkin - original request is required

I have multiservices application which is using Spring Cloud OpenFeign. Now I have to use zipkin with that app. I remember that when i had app without Feign I just added Sleuth and Zipkin starters dependencies and run zipkin server on port 9411. After that Zipkin worked well.. But now, when i try same in my app with Feign i get error 500 "original request is required". I guess that Feign has some problems with headers when Sleuth add traces informations. Can you help me fix this?
It's hard to tell without more information. But it can be related to incompatible libraries. Can you post your dependencies?
In case you are using older version of okhttpclient with latest spring cloud:greenwich it can cause this issue.
I'm using Greenwich.RELEASE with okhttpclient:10.2.0 which works without problems
Use the below dependency Management for spring-boot to download the suitable versions for cloud version
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
I am using Java 10, cloud.version is Finchley.SR2 and sprinb-boot:2.2.0 and spring-cloud-starter-openfeign :2.1.2.RELEASE. and this combination worked for me to fix the issue.
Acctual problem was 10.x.x feign-core was not working only and io.github.openfeign:feign-core:jar:9.7.0:compile was working.
I faced this problem using java 11, springboot 2.3.0.RELEASE, and spring-cloud version Greenwich.RELEASE. Adding the following dependences saved me:
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-okhttp</artifactId>
<version>10.2.0</version>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-core</artifactId>
<version>10.2.0</version>
</dependency>
Hope this helps someone.

What replaces FacesContextUtils in Spring 3?

We just upgraded from Spring 2.5 to Spring 3.0.7. The class:
org.springframework.web.jsf.FacesContextUtils
doesn't appear exist in 3.0.7. We are trying to call:
FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance()).getBeansOfType(type);
Is there a replacement in Spring 3?
This class also exists in Spring 3.0.7, maybe you missed a jar or downloaded a different release?
You can use the following maven dependency:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.web</artifactId>
<version>3.0.7.RELEASE</version>
</dependency>
You can also get the jar from the spring repo.
If this doesn't help you may update your question with the stacktrace of the error msg.

Resources