From e56a3ae8356130590d51cb75ee697f2b252b4c20 Mon Sep 17 00:00:00 2001
From: JanardhanBS-SyncByte
- * There is no JDBC datasource. Fat mock-sdk / vendor JARs on {@code loader.path} - * may shade Hibernate and Hikari; those auto-configurations are excluded in - * {@code application.properties} so Boot does not require a database URL. + * There is no JDBC datasource. A local fat mock-sdk JAR on {@code loader.path} + * may register Hibernate/Hikari auto-config; {@code application-local.properties} + * excludes those so Boot does not require a database URL. The cluster profile + * must not exclude them unless they are actual auto-configuration classes. *
* * @since 1.0 diff --git a/biosdk-services/src/main/resources/application-local.properties b/biosdk-services/src/main/resources/application-local.properties index eae0662..b574e0c 100644 --- a/biosdk-services/src/main/resources/application-local.properties +++ b/biosdk-services/src/main/resources/application-local.properties @@ -1,5 +1,13 @@ # Local profile: run-local.bat|sh passes -Dspring.profiles.active=local spring.cloud.config.enabled=false +# Fat mock-sdk-*-jar-with-dependencies.jar on loader.path registers Boot JDBC/JPA. +# Cluster zip does not, so these excludes must not be in the default profile. +spring.autoconfigure.exclude=\ +org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration,\ +org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration,\ +org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration,\ +org.springframework.boot.hibernate.autoconfigure.HibernateJpaAutoConfiguration,\ +${biosdk.kernel.autoconfigure.exclude} server.tomcat.accesslog.enabled=false # Swagger Try-it-out target for this machine only. Cluster uses mosipbox.public.url from config server. mosipbox.public.url=http://localhost:${server.port} diff --git a/biosdk-services/src/main/resources/application.properties b/biosdk-services/src/main/resources/application.properties index 7b9ae69..1641ad6 100644 --- a/biosdk-services/src/main/resources/application.properties +++ b/biosdk-services/src/main/resources/application.properties @@ -34,12 +34,10 @@ logging.level.root=INFO # kernel-core 1.4.1 EnableAutoConfiguration list (ID gen, PDF, websub, applicant-type). # This module is an IBioApiV2 HTTP wrapper — do not start those beans. -# Fat mock-sdk on loader.path also shades Hibernate/Hikari; do not start a DataSource. -spring.autoconfigure.exclude=\ -org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration,\ -org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration,\ -org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration,\ -org.springframework.boot.hibernate.autoconfigure.HibernateJpaAutoConfiguration,\ +# Do not exclude Boot JDBC/JPA here: cluster mock-sdk zip can put those classes on +# loader.path without registering them as auto-config, and Boot 4 then fails startup. +# Local fat mock-sdk does register them; those excludes live in application-local.properties. +biosdk.kernel.autoconfigure.exclude=\ io.mosip.kernel.idgenerator.vid.impl.VidGeneratorImpl,\ io.mosip.kernel.idgenerator.vid.util.VidFilterUtils,\ io.mosip.kernel.idgenerator.tokenid.impl.TokenIdGeneratorImpl,\ @@ -64,6 +62,7 @@ io.mosip.kernel.websub.api.config.IntentVerificationConfig,\ io.mosip.kernel.websub.api.config.WebSubClientConfig,\ io.mosip.kernel.websub.api.config.publisher.WebSubPublisherClientConfig,\ io.mosip.kernel.websub.api.config.publisher.RestTemplateHelper +spring.autoconfigure.exclude=${biosdk.kernel.autoconfigure.exclude} openapi.info.title=Biosdk Service openapi.info.description=Rest Endpoints for operations related to Biosdk