...
| Advertencia |
|---|
Todas las APIs FundeWebJS se han configurado para usar Sleuth. En principio, NO ES NECESARIO que los programadores realicen la configuración. Esta página es una referencia, por si alguna aplicación se ha escapado del radar de MNCS. |
Guía detallada
A continuación se detallan los pasos para configurar Sleuth.
1. Fichero pom.xml:
...
| Bloque de código | ||
|---|---|---|
| ||
<properties>...
<spring.cloud.version>2021.0.3</spring.cloud.version> <!-- Para versiones de spring-boot-starter-parent a partir de 2.6.X ->
<spring.cloud.version>2020.0.6</spring.cloud.version> <!-- Para versiones de spring-boot-starter-parent 2.4.X y 2.5.X ->
<spring.cloud.version>Hoxton.SR12</spring.cloud.version> <!-- Para versiones de spring-boot-starter-parent 2.2.X y 2.3.X ->
...
</properties> |
| Advertencia |
|---|
SOLO DEBE HABER UNA PROPERTY spring.cloud.version, la que corresponda con el parent spring-boot-starter-parent que tengamos configurado en nuestro pom.xml. |
...
2021.0.x aka Jubilee
...
2.6.x, 2.7.x (Starting with 2021.0.3)
...
2020.0.x aka Ilford
...
2.4.x, 2.5.x (Starting with 2020.0.3)
...
...
2.2.x, 2.3.x (Starting with SR5)
...
...
2.1.x
...
...
2.0.x
...
...
1.5.x
...
1
...
Ejemplo de Tabla de compatibilidades Spring-Cloud - Spring-Boot agosto'22.
...
| Bloque de código | ||
|---|---|---|
| ||
<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> |
...
| Bloque de código | ||
|---|---|---|
| ||
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency> |
...
. Fichero application.properties:
Añadir las siguientes propiedades en el fichero application.properties de Helm Chart:
Bloque de código language text spring.application.name=${app.author}/${app.apiname} ##SOLO SI NO ESTÁ DEFINIDA ANTES Y TENEMOS app.author y app.apiname spring.zipkin.enabled=false ##Deshabilita el envío a Zipkin, aunque no debe hacerse si la dependencia de Zipkin no está en el pom.xml. spring.sleuth.baggage.remote-fields=UMU-User-SessionID #Define el campo para recibir y propagar a otros servicios spring.sleuth.baggage.correlation-fields=UMU-User-SessionID #Añade el campo al MDC spring.sleuth.baggage.tag-fields=UMU-User-SessionID #Define el campo para enviarlo como tag y poder filtrar en zipkin/jaeger en el futuro
En las referencias hay un enlace a la documentación de Sleuth (#appendix) con la tabla con todas las propiedades de configuración.
...
| Info |
|---|
Para integrar correctamente Sleuth con clientes REST RestTemplate (a extinguir) y WebClient (ver confluence WebClient) es imprescindible registrar tanto RestTemplate como WebClient con @Bean. |
...