J'essaie d'obtenir des configurations de base de données à partir d'un dépôt github qui contient toutes les propriétés de l'application. Le diagramme ci-dessous illustre la structure du service que j'ai :
Lorsque j'accède à mon microservice de serveur de configuration, tout fonctionne correctement et même lorsque je le teste dans post man, je récupère les configurations.
Le problème survient lorsque j'essaie d'exécuter le service de produit tout en pointant vers le microservice de serveur de configuration pour obtenir les données. tout en pointant vers le microservice config server pour obtenir les configurations de la base de données. de la base de données. J'obtiens l'erreur suivante :
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.0.5.RELEASE)
2018-11-17 17:53:23.730 INFO 9497 --- [ restartedMain] o.a.s.p.ProductServicesApplication : Starting ProductServicesApplication on users-MacBook-Pro.local with PID 9497 (/Users/user/Desktop/act/core-services/product-services/target/classes started by user in /Users/user/Desktop/act/core-services/product-services)
2018-11-17 17:53:23.732 INFO 9497 --- [ restartedMain] o.a.s.p.ProductServicesApplication : No active profile set, falling back to default profiles: default
2018-11-17 17:53:23.773 INFO 9497 --- [ restartedMain] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@15d79dee: startup date [Sat Nov 17 17:53:23 SAST 2018]; root of context hierarchy
2018-11-17 17:53:25.307 INFO 9497 --- [ restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$3317940b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2018-11-17 17:53:25.822 INFO 9497 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 7000 (http)
2018-11-17 17:53:25.844 INFO 9497 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2018-11-17 17:53:25.845 INFO 9497 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.34
2018-11-17 17:53:25.854 INFO 9497 --- [ost-startStop-1] o.a.catalina.core.AprLifecycleListener : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/Users/user/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.]
2018-11-17 17:53:25.938 INFO 9497 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2018-11-17 17:53:25.938 INFO 9497 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 2167 ms
2018-11-17 17:53:26.232 ERROR 9497 --- [ost-startStop-1] o.s.b.web.embedded.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'servletEndpointRegistrar' defined in class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration$WebMvcServletEndpointManagementContextConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar]: Factory method 'servletEndpointRegistrar' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'healthEndpoint' defined in class path resource [org/springframework/boot/actuate/autoconfigure/health/HealthEndpointConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.health.HealthEndpoint]: Factory method 'healthEndpoint' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.actuate.autoconfigure.jdbc.DataSourceHealthIndicatorAutoConfiguration': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.autoconfigure.jdbc.DataSourceHealthIndicatorAutoConfiguration$$EnhancerBySpringCGLIB$$a1fbe591]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class
2018-11-17 17:53:26.253 INFO 9497 --- [ restartedMain] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
2018-11-17 17:53:26.262 WARN 9497 --- [ restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
2018-11-17 17:53:26.275 INFO 9497 --- [ restartedMain] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-11-17 17:53:26.277 ERROR 9497 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
Voici tous les fichiers de propriétés dont je dispose :
Produit-service bootstrap.properties
#Read file on Config-Server
#product-service.properties
spring.application.name=product-service
spring.cloud.config.uri=http://localhost:20001
Produit-service application.properties
## Server Properties
server.port= 7000
config-server application.properties
spring.application.name=spring-cloud-config-server
server.port = 20001
#Config Server Connection
spring.cloud.config.server.git.uri=https://github.com/myrepository/link-config-files
spring.cloud.config.server.git.username = myaccount
spring.cloud.config.server.git.password = abcdef
Product-service application.properties sur github
#Config Server Connection
## Spring DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
spring.datasource.url= jdbc:postgresql://localhost:5432/mytestDB?useSSL=true
spring.datasource.username= postgres
spring.datasource.password= abxc***
spring.datasource.driver-class-name=org.postgresql.Driver
### Hibernate Properties
## The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQL94Dialect
spring.jpa.hibernate.ddl-auto = update
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
## Hibernate Logging
logging.level.org.hibernate.SQL= DEBUG
## Jackson Properties
spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS= false
spring.jackson.time-zone= UTC
## App Properties
app.jwtSecret= JWTSuperSecretKey
app.jwtExpirationInMs = 604800000
## Spring Profiles
eureka.client.service-url.default-zone=http://localhost:8761/eureka