This is an automated email from the ASF dual-hosted git repository. yasith pushed a commit to branch feat/grpc-armeria-migration in repository https://gitbox.apache.org/repos/asf/airavata.git
commit 2600f8680aeba366a52e4dc4b483fb091298cc70 Author: yasithdev <[email protected]> AuthorDate: Wed Apr 1 02:22:39 2026 -0400 fix: resolve Jackson version conflict and SecurityConfig CGLIB issue - Add jackson-bom 2.21.1 import before Spring Boot BOM to ensure all Jackson modules (datatype, jakarta-rs, module-*) use 2.21.x instead of Spring Boot's managed 2.19.x - Update jackson-annotations from 2.19.0 to 2.21 (matching jackson-bom) - Add proxyBeanMethods=false to SecurityConfig to prevent CGLIB errors - Add org.apache.airavata.execution.handler to component scan so RegistryServerHandler bean is discoverable - Exclude duplicate logback from armeria-spring-boot3-starter --- airavata-server/pom.xml | 10 ++++++++++ .../org/apache/airavata/server/config/SecurityConfig.java | 2 +- .../apache/airavata/server/grpc/AiravataArmeriaConfig.java | 2 +- pom.xml | 11 ++++++++++- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/airavata-server/pom.xml b/airavata-server/pom.xml index 327bc80f73..32ba53c7b0 100644 --- a/airavata-server/pom.xml +++ b/airavata-server/pom.xml @@ -68,6 +68,16 @@ under the License. <dependency> <groupId>com.linecorp.armeria</groupId> <artifactId>armeria-spring-boot3-starter</artifactId> + <exclusions> + <exclusion> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + </exclusion> + <exclusion> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-core</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>com.linecorp.armeria</groupId> diff --git a/airavata-server/src/main/java/org/apache/airavata/server/config/SecurityConfig.java b/airavata-server/src/main/java/org/apache/airavata/server/config/SecurityConfig.java index 32d5a5b8af..ba4e64fe04 100644 --- a/airavata-server/src/main/java/org/apache/airavata/server/config/SecurityConfig.java +++ b/airavata-server/src/main/java/org/apache/airavata/server/config/SecurityConfig.java @@ -41,7 +41,7 @@ import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -@Configuration +@Configuration(proxyBeanMethods = false) public class SecurityConfig { private static final Logger log = LoggerFactory.getLogger(SecurityConfig.class); diff --git a/airavata-server/src/main/java/org/apache/airavata/server/grpc/AiravataArmeriaConfig.java b/airavata-server/src/main/java/org/apache/airavata/server/grpc/AiravataArmeriaConfig.java index 4f2de45bfa..293d1ae6c0 100644 --- a/airavata-server/src/main/java/org/apache/airavata/server/grpc/AiravataArmeriaConfig.java +++ b/airavata-server/src/main/java/org/apache/airavata/server/grpc/AiravataArmeriaConfig.java @@ -40,7 +40,7 @@ import java.util.List; @Configuration @ConditionalOnServer("grpc") @Import({AgentServiceConfig.class, ResearchServiceConfig.class}) -@ComponentScan(basePackages = {"org.apache.airavata.storage.service", "org.apache.airavata.storage.config"}) +@ComponentScan(basePackages = {"org.apache.airavata.storage.service", "org.apache.airavata.storage.config", "org.apache.airavata.execution.handler"}) public class AiravataArmeriaConfig { @Bean diff --git a/pom.xml b/pom.xml index d8d49d231a..1ba7b88d05 100644 --- a/pom.xml +++ b/pom.xml @@ -301,7 +301,7 @@ under the License. <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> - <version>2.19.0</version> + <version>2.21</version> </dependency> <!-- Database --> @@ -532,6 +532,15 @@ under the License. <version>1.1</version> </dependency> + <!-- Jackson BOM — must come before Spring Boot to override its Jackson 2.19.x --> + <dependency> + <groupId>com.fasterxml.jackson</groupId> + <artifactId>jackson-bom</artifactId> + <version>2.21.1</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <!-- Spring Boot --> <dependency> <groupId>org.springframework.boot</groupId>
