Desde que se lanzó en 1995, Java se ha co­n­ve­r­ti­do en uno de los lenguajes de pro­gra­ma­ción más uti­li­za­dos. En especial, este lenguaje orientado a objetos despliega todo su potencial a la hora de de­sa­rro­llar apli­ca­cio­nes em­pre­sa­ria­les complejas (para uso online o sin conexión). En co­m­bi­na­ción con el Java Runtime En­vi­ro­n­me­nt (JRE), se ca­ra­c­te­ri­za por ser co­m­pa­ti­ble con todos los sistemas ope­ra­ti­vos y, por lo tanto, accesible para un público muy extenso.

Con el fin de si­m­pli­fi­car el trabajo con Java, en las últimas décadas se han ido creando diversos marcos estándar listos para usar, que sirven de base para de­sa­rro­llar programas en Java. Uno de los más conocidos es el framework de código abierto Spring, publicado en 2003, que reduce no­ta­ble­me­n­te la co­m­ple­ji­dad de la es­pe­ci­fi­ca­ción estándar de Java (“J2EE” o “pla­ta­fo­r­ma Java”), así como del modelo de co­m­po­ne­n­tes de los En­te­r­pri­se JavaBeans (“EJB”). Desde que se lanzó el co­m­ple­me­n­to Spring Boot, que agiliza todavía más la co­n­fi­gu­ra­ción de nuevos proyectos con Spring, el marco ha de­mo­s­tra­do ser una opción excelente y fácil de utilizar en los casos en que no queremos comenzar a de­sa­rro­llar una apli­ca­ción en Java desde cero.

En este tutorial de Spring Boot apre­n­de­rás cuáles son los re­qui­si­tos previos para uti­li­zar­lo y empezarás a dar tus primeros pasos con este framework modular.

¿Qué es Spring Boot?

Spring Boot, publicado en 2012, es una solución para el framework Spring de Java que sigue el principio de “co­n­ve­n­ción sobre co­n­fi­gu­ra­ción” y reduce la co­m­ple­ji­dad del de­sa­rro­llo de nuevos proyectos basados en Spring. Para ello, Spring Boot pro­po­r­cio­na la es­tru­c­tu­ra básica co­n­fi­gu­ra­da del proyecto, que incluye las pautas para usar el marco y todas las bi­blio­te­cas de terceros re­le­va­n­tes para la apli­ca­ción, lo que nos allana el camino para comenzar a de­sa­rro­llar­la lo más rá­pi­da­me­n­te posible. De esta manera se si­m­pli­fi­ca mucho la creación de apli­ca­cio­nes in­de­pe­n­die­n­tes y re­pro­du­ci­bles, por lo que la mayoría de las nuevas apli­ca­cio­nes basadas en Spring se de­sa­rro­llan con Spring Boot.

Las ca­ra­c­te­rí­s­ti­cas de Spring Boot pueden resumirse de la siguiente manera:

  • In­co­r­po­ra­ción directa de apli­ca­cio­nes de se­r­vi­do­res web/co­n­te­ne­do­res como Apache Tomcat o Jetty, eli­mi­na­n­do la necesidad de incluir archivos WAR (Web Ap­pli­ca­tion Archive)
  • Si­m­pli­fi­ca­ción de la co­n­fi­gu­ra­ción de Maven gracias a los POM (Project Object Models) “starter”
  • Co­n­fi­gu­ra­ción au­to­má­ti­ca de Spring en la medida de lo posible
  • Ca­ra­c­te­rí­s­ti­cas no fu­n­cio­na­les, como métricas o co­n­fi­gu­ra­cio­nes ex­te­r­na­li­za­das

La empresa de­sa­rro­lla­do­ra Pivotal Software dio al framework de Spring, publicado ya en 2005, un enfoque moderno y con visión de futuro cuando lanzó Spring Boot. Para de­sa­rro­llar­lo, se recurrió a la sólida te­c­no­lo­gía de base del framework de Spring, madurada durante años, que co­n­tri­bu­yó mucho a su fu­n­cio­na­li­dad. Si te apetece saber más sobre este popular marco de código abierto (licencia Apache 2.0), no te pierdas nuestro completo artículo sobre el framework de Java.

Spring Boot: tutorial, re­qui­si­tos e in­s­ta­la­ción

Desde que el uso de Spring se ex­te­n­die­ra en todo el mundo debido a Spring Boot, esta solución creada por Pivotal Software ha sido re­co­no­ci­da como una de las mejores para de­sa­rro­llar mi­cro­se­r­vi­cios en Java. Gracias a los apro­xi­ma­da­me­n­te 20 módulos del marco básico (que puedes combinar como quieras) Spring Boot también es adecuado para muchos otros pro­pó­si­tos, aunque no acaba de encajar en la de­s­cri­p­ción de un framework para apli­ca­cio­nes web ni de una solución clásica para apli­ca­cio­nes de es­cri­to­rio.

En primer lugar, antes de entrar en detalles sobre la creación y co­n­fi­gu­ra­ción de un nuevo proyecto, así como la es­tru­c­tu­ra inicial de Spring Boot, el tutorial se centra en los re­qui­si­tos técnicos y la co­n­fi­gu­ra­ción de los co­m­po­ne­n­tes ne­ce­sa­rios.

¿Cuáles son los re­qui­si­tos del sistema de Spring Boot?

En Spring Boot todo se hace con Java, por lo que Java Runtime En­vi­ro­n­me­nt (pla­ta­fo­r­ma Java) es el principal co­m­po­ne­n­te de software para que el marco funcione. Como esta apli­ca­ción no solo se ejecuta, sino que también se emplea para el de­sa­rro­llo con Java, necesitas al menos la versión 8 (o 1.8) del llamado Java De­ve­lo­p­me­nt Kit (JDK). Este software, además del entorno de ejecución, contiene he­rra­mie­n­tas útiles para programar y testar apli­ca­cio­nes Java y está di­s­po­ni­ble tanto para Linux como para Windows y macOS, por lo que nos permite elegir li­bre­me­n­te el sistema operativo que queramos utilizar.

Ob­via­me­n­te, este co­m­ple­me­n­to también requiere que tengamos la versión actual del framework Spring instalada en el sistema.

Como he­rra­mie­n­ta de co­m­pi­la­ción, podemos utilizar Maven (a partir de 3.3) o Gradle (a partir de 4.4).

Cabe la po­si­bi­li­dad de in­co­r­po­rar un objeto servlet que ejecute la apli­ca­ción Java sobre la base de un servidor web. Para hacerlo, puedes elegir entre tres so­lu­cio­nes: Apache Tomcat (a partir de 9.0), Jetty (a partir de 9.4) o Undertow (a partir de 2.0).

Cómo crear tu primer proyecto de Spring Boot

Al igual que en cualquier bi­blio­te­ca Java estándar, en Spring Boot se incluyen los co­rre­s­po­n­die­n­tes archivos JAR (Java Archive) o WAR (Web Ap­pli­ca­tion Archive) en el Classpath. Java recurre a esta ruta del sistema de archivos para buscar los archivos eje­cu­ta­bles. Puedes crear los archivos de al­ma­ce­na­mie­n­to de Spring Boot de dos maneras distintas:

  • Instala y utiliza Maven o Gradle para crear por tu cuenta todo el marco del proyecto, incluidas las de­pe­n­de­n­cias ne­ce­sa­rias.
  • Utiliza el servicio web Spring Ini­tia­li­zr para es­ta­ble­cer la co­n­fi­gu­ra­ción de Spring Boot y, después, de­s­cá­r­ga­la como plantilla de proyecto final.

Una ca­ra­c­te­rí­s­ti­ca de la segunda solución es que pro­po­r­cio­na una interfaz web muy fácil de usar para crear los archivos JAR, lo que si­m­pli­fi­ca co­n­si­de­ra­ble­me­n­te el proceso. Como Ini­tia­li­zr también emplea Maven o Gradle para generar los archivos, el resultado es el mismo que si lo haces de forma manual. En este tutorial de Spring Boot, nos hemos decantado por esta opción. En start.spring.io, puedes acceder a este servicio web.

Nota

Si deseas utilizar Spring Ini­tia­li­zr, debes tener instalado Java, además de Maven o Gradle, para trabajar en la apli­ca­ción con Spring Boot.

Una vez abierto Spring Ini­tia­li­zr, puedes es­ta­ble­cer las pro­pie­da­des de la apli­ca­ción que vas a de­sa­rro­llar con Spring Boot. En primer lugar, indica el sistema de co­m­pi­la­ción, se­le­c­cio­na­n­do “Maven Project” o “Gradle Project”. En la segunda línea, puedes optar por el lenguaje Java clásico o, si lo prefieres, por otro lenguaje de la familia de Java, como Kotlin o Groovy. A co­n­ti­nua­ción, define la versión su­b­ya­ce­n­te de Spring Boot y los metadatos del proyecto (incluida la versión de Java), así como todas las de­pe­n­de­n­cias re­le­va­n­tes (bases de datos, ca­ra­c­te­rí­s­ti­cas de seguridad, in­te­r­fa­ces web, servicios en la nube, etc.). Fi­na­l­me­n­te, haz clic en “Generate Project” para crear los archivos del proyecto.

Consejo

Si quieres crear un proyecto en Spring Boot con Maven o Gradle desde cero, puedes consultar las in­s­tru­c­cio­nes de in­s­ta­la­ción que figuran en los manuales oficiales online.

Ejecutar el nuevo proyecto de Spring Boot

Spring Ini­tia­li­zr te ofrecerá la opción de descargar los archivos de proyecto que se acaban de crear. Verás que se en­cue­n­tran en un archivo ZIP, que deberás de­s­co­m­pri­mir antes de abrir. La carpeta de­s­co­m­pri­mi­da incluye, entre otros co­m­po­ne­n­tes, el archivo de co­n­fi­gu­ra­ción build.gradle si se­le­c­cio­na­s­te Gradle como sistema de co­m­pi­la­ción o pom.xml si se trata de un proyecto de Maven. En el último caso, que es en el que nos centramos en este tutorial de Spring Boot, el contenido del archivo de co­n­fi­gu­ra­ción debería ser similar a este:

Mediante el co­rre­s­po­n­die­n­te software de co­m­pi­la­ción, vas a crear una apli­ca­ción Spring Boot eje­cu­ta­ble a partir de los archivos di­s­po­ni­bles. Para ello, si utilizas Maven, abre el terminal o el símbolo del sistema e introduce el siguiente comando en la carpeta de destino (es decir, en la carpeta que contiene los archivos de Spring Boot):

mvn clean install

Para Gradle, el comando es el siguiente:

gradle clean build

En ambos casos, si el comando se ejecuta co­rre­c­ta­me­n­te, obtendrás el mensaje “BUILD SUCCESS” en cuanto se hayan creado los archivos de al­ma­ce­na­mie­n­to. El archivo eje­cu­ta­ble se guarda en la carpeta “target” (Maven) o “build/libs” (Gradle). En nuestro caso, el nombre de este archivo JAR es “demo-0.0.1-SNAPSHOT.jar”:

Para eje­cu­tar­lo con Java, introduce el siguiente comando:

java -jar demo-0.0.1-SNAPSHOT.jar

Si es necesario, sustituye el nombre del archivo JAR, que, en el ejemplo, hemos escrito en cursiva, por el que co­rre­s­po­n­da en tu caso. Cuando lo in­tro­du­z­cas, en función del output que muestre el símbolo del sistema, podrás saber si la apli­ca­ción co­n­fi­gu­ra­da con Spring Boot se ha iniciado co­rre­c­ta­me­n­te. Asimismo, si antes in­co­r­po­ra­s­te alguno de los se­r­vi­do­res web me­n­cio­na­dos, como Tomcat, este también se iniciará. Puedes acceder a él con cualquier navegador in­tro­du­cie­n­do la siguiente dirección:

http://localhost:8080

Conectar Spring Boot con la base de datos y la fuente de datos

Spring Boot pro­po­r­cio­na un excelente soporte para crear e in­co­r­po­rar fuentes de datos en todas las bases de datos SQL o NoSQL que queramos. Por lo tanto, no necesitas escribir ningún código para crear una nueva fuente de datos, sino, si­m­ple­me­n­te, añadir las co­rre­s­po­n­die­n­tes de­pe­n­de­n­cias y datos de co­n­fi­gu­ra­ción. Esto es posible gracias a la interfaz de base de datos unificada JDBC (Java Database Co­n­ne­c­ti­vi­ty), para la cual primero tienes que crear una entrada de inicio en el archivo de co­n­fi­gu­ra­ción, a menos que ya hayas añadido la de­pe­n­de­n­cia al crear el proyecto con Spring Ini­tia­li­zr (lo mismo se aplica a otras de­pe­n­de­n­cias ya me­n­cio­na­das).

Los usuarios de Maven deben añadir las si­guie­n­tes líneas a pom.xml:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

Los usuarios de Gradle, por su parte, deben escribir lo siguiente en el archivo build.gradle:

compile('org.springframework.boot:spring-boot-starter-jdbc')
Nota

Puedes utilizar cualquier editor de código estándar para abrir el archivo de co­n­fi­gu­ra­ción. Lo im­po­r­ta­n­te es volver a guardarlo en formato XML o Gradle después de mo­di­fi­car­lo.

El segundo paso consiste en extender el archivo de co­n­fi­gu­ra­ción de co­m­pi­la­ción co­rre­s­po­n­die­n­te con la de­pe­n­de­n­cia del sistema de ad­mi­ni­s­tra­ción de base de datos que quieras. En este tutorial vi­n­cu­la­mos nuestra apli­ca­ción con una base de datos MySQL que queremos utilizar para la misma y que ya hemos instalado pre­via­me­n­te.

Para ello, en el archivo pom.xml de Maven, introduce la siguiente entrada:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

En el caso de Gradle, debes escribir la siguiente línea para vincular la apli­ca­ción con la base de datos MySQL:

compile('mysql:mysql-connector-java')

A co­n­ti­nua­ción, debes añadir algunas pro­pie­da­des al archivo PRO­PE­R­TIES “ap­pli­ca­tion”, que se encuentra en la ruta \src\main\resources, en la carpeta del proyecto de Spring Boot. Abre este archivo de texto e introduce los si­guie­n­tes comandos de co­n­fi­gu­ra­ción:

spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/PRODUCTSERVICE?autoreconnect = true
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.tomcat.testOnBorrow = true
spring.datasource.tomcat.testWhileIdle = true
spring.datasource.tomcat.timeBetweenEvictionRunsMillis = 60000
spring.datasource.tomcat.minEvictableIdleTimeMillis = 30000
spring.datasource.tomcat.validationQuery = SELECT 1
spring.datasource.tomcat.max-active = 15
spring.datasource.tomcat.max-idle = 10
spring.datasource.tomcat.max-wait = 8000

Ya puedes utilizar MySQL como de costumbre para crear una base de datos que incluya las tablas de datos que quieras, si todavía no lo has hecho. Si no tienes claro cómo se hace, consulta nuestro completo tutorial de MySQL, donde apre­n­de­rás todo lo necesario sobre el uso de este sistema de ad­mi­ni­s­tra­ción de bases de datos re­la­cio­na­les.

Generar ce­r­ti­fi­ca­do SSL / TLS y habilitar HTTPS

De forma pre­de­te­r­mi­na­da, las apli­ca­cio­nes creadas con Spring Boot utilizan un protocolo HTTP no seguro y el puerto TCP 8080 para co­ne­c­tar­se al co­rre­s­po­n­die­n­te servidor web. Si, en lugar de ello, quieres cambiar a HTTPS y al puerto TCP 443 como opción pre­de­te­r­mi­na­da, necesitas disponer de un ce­r­ti­fi­ca­do SSL/TLS, además de es­pe­ci­fi­car las pro­pie­da­des adecuadas en el archivo PRO­PE­R­TIES “ap­pli­ca­tion”.

El primero se puede obtener de una autoridad de ce­r­ti­fi­ca­ción o creando un ce­r­ti­fi­ca­do au­to­fi­r­ma­do mediante Java Runtime En­vi­ro­n­me­nt. Este incorpora Ma­na­ge­me­nt Utility Key Tool, una he­rra­mie­n­ta de línea de comandos con la que puedes generar fá­ci­l­me­n­te archivos PKCS12 (incluidos el ce­r­ti­fi­ca­do X.509 y la clave privada) para se­r­vi­do­res como Tomcat, Exchange o IIS, entre otros. Por ejemplo, si utilizas un servidor Tomcat, escribe el siguiente comando en la consola para generar el archivo de ce­r­ti­fi­ca­do digital para la apli­ca­ción creada con Spring Boot:

keytool -genkeypair -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650

El archivo de ce­r­ti­fi­ca­do digital se guarda au­to­má­ti­ca­me­n­te en el di­re­c­to­rio en el que se ejecutó el comando (en este tutorial de Spring Boot, el propio di­re­c­to­rio del usuario). Copia el archivo “keystore” en el di­re­c­to­rio de la apli­ca­ción creada con Spring Boot y, a co­n­ti­nua­ción, introduce los si­guie­n­tes comandos en el archivo PRO­PE­R­TIES “ap­pli­ca­tion” que ya editaste al integrar la base de datos:

server.port = 443
server.ssl.key-store = C:/demo/keystore.p12
server.ssl.key-store-password = springboot
server.ssl.key-store-type = PKCS12
server.ssl.key-alias = tomcat

Fi­na­l­me­n­te, crea un nuevo archivo JAR eje­cu­ta­ble que se conecte a Tomcat por HTTPS, de acuerdo con la co­n­fi­gu­ra­ción, mediante el siguiente comando:

mvn -Dmaven.test.skip=true -DskipTests=true clean install

Spring Cloud Sleuth y Zipkin: si­m­pli­fi­car la de­pu­ra­ción de la apli­ca­ción de Spring Boot

Una de las tareas más im­po­r­ta­n­tes en el de­sa­rro­llo de software es su­pe­r­vi­sar­lo co­n­s­ta­n­te­me­n­te, ya que solo así se logra localizar y corregir todos los errores de pro­gra­ma­ción. Sin embargo, evaluar los logs o hi­s­to­ria­les de registro suele ser muy complejo, lo que a menudo conlleva que el proceso de de­pu­ra­ción sea muy costoso, es­pe­cia­l­me­n­te en el caso de los mi­cro­se­r­vi­cios. Para acabar este tutorial de Spring Boot, vamos a hablar de las so­lu­cio­nes de rastreo Spring Cloud Sleuth y Zipkin, pues estas ayudan a su­pe­r­vi­sar a fondo las apli­ca­cio­nes creadas con Spring Boot.

Con estas dos apli­ca­cio­nes de se­gui­mie­n­to puedes su­pe­r­vi­sar fá­ci­l­me­n­te todas las so­li­ci­tu­des mediante un co­n­tro­la­dor REST y consultar el historial en todo momento.

Primer paso: añadir Spring Cloud Sleuth al proyecto

Primero, integra el módulo Sleuth en la apli­ca­ción de­sa­rro­lla­da con Spring Boot, co­n­fi­gu­ra­n­do la de­pe­n­de­n­cia en el archivo de co­n­fi­gu­ra­ción de co­m­pi­la­ción. Para ello, si utilizas Maven, introduce el siguiente contenido en el archivo pom.xml:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-sleuth</artifactId>
    <version>${spring-cloud-sleuth.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

En los proyectos Gradle, escribe el siguiente comando en el archivo de co­n­fi­gu­ra­ción:

compile('org.springframework.cloud:spring-cloud-starter-sleuth')

Segundo paso: incluye los logs de Sleuth en el archivo .class del co­n­tro­la­dor REST

En segundo lugar, debes co­n­fi­gu­rar el co­n­tro­la­dor REST del proyecto de Spring Boot para que procese los logs de Sleuth según tus pre­fe­re­n­cias. Para ello, debes escribir el código que figura a co­n­ti­nua­ción en el archivo .class del co­n­tro­la­dor. Ten en cuenta que el nombre del paquete (aquí, spring-boot-tutorial) se co­rre­s­po­n­de con el dominio de <groupId> en pom.xml:

package spring-boot-tutorial.sleuth;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class SleuthappApplication {
    private static final Logger LOG = Logger.getLogger(SleuthappApplication.class.getName());
    public static void main(String[] args) {
        SpringApplication.run(SleuthappApplication.class, args);
    }
    @RequestMapping("/")
    public String index() {
        LOG.log(Level.INFO, "Index API is calling");
        return "Sleuth: Spring-Boot-Tutorial-Test!";
    }
}

Tercer paso: anota el nombre de la apli­ca­ción creada con Spring en las pro­pie­da­des

Para ase­gu­rar­te de que el nombre del proyecto de Spring Boot se muestre co­rre­c­ta­me­n­te en Zipkin, debes es­pe­ci­fi­car­lo en el archivo PRO­PE­R­TIES “ap­pli­ca­tion”. Si guardas esta co­n­fi­gu­ra­ción en un servidor de co­n­fi­gu­ra­ción de Spring Cloud, haz lo mismo en el archivo PRO­PE­R­TIES “bootstrap”:

spring.application.name = Spring-Boot-Tutorial-App

Cuarto paso: añadir Zipkin al proyecto

El software de código abierto Zipkin, que ayuda a gestionar y su­pe­r­vi­sar los logs de Sleuth, consta de una interfaz de usuario y un co­m­po­ne­n­te de servidor. Para ambos, las de­pe­n­de­n­cias se añaden en el archivo de co­n­fi­gu­ra­ción de co­m­pi­la­ción co­rre­s­po­n­die­n­te. Los usuarios de Maven deben in­tro­du­cir el siguiente código en el archivo pom.xml:

<dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin-autoconfigure-ui</artifactId>
<scope>runtime</scope>
</dependency>

En cambio, al co­n­fi­gu­rar Gradle, se deben añadir los si­guie­n­tes comandos:

compile('io.zipkin.java:zipkin-autoconfigure-ui')
compile('io.zipkin.java:zipkin-server')

Quinto paso: permitir que la apli­ca­ción actúe como servidor de Zipkin

El siguiente paso es ase­gu­rar­se de que el proyecto de Spring Boot pueda actuar como servidor de Zipkin. Para ello, crea un archivo llamado zipkin.pro­pe­r­ties y escribe las si­guie­n­tes líneas en él:

spring.application.name=zipkin
server.port=9411
logging.level.org.springframework.web=debug

Fi­na­l­me­n­te, habilita el co­m­po­ne­n­te del servidor en el archivo Java del proyecto:

package spring-boot-tutorial.zipkin;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import zipkin.server.EnableZipkinServer;
@SpringBootApplication
@EnableZipkinServer
public class ZipkinappApplication {
    public static void main(String[] args) {
        SpringApplication.run(ZipkinappApplication.class, args);
    }
}

Si creas el archivo JAR eje­cu­ta­ble de la forma habitual y, luego, ejecutas la apli­ca­ción, podrás acceder al servidor Zipkin en la dirección 'http://localhost:9411/zipkin'.

Sexto paso: añadir la de­pe­n­de­n­cia de Spring Cloud Zipkin

Añade una última de­pe­n­de­n­cia en el archivo de co­n­fi­gu­ra­ción de co­m­pi­la­ción para vincular Sleuth y Zipkin.

En Maven:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>

En Gradle:

compile('org.springframework.cloud:spring-cloud-sleuth-zipkin')

Séptimo paso: co­n­fi­gu­rar la ex­po­r­ta­ción de los logs de Sleuth al servidor de Zipkin

Extiende el archivo Java del proyecto de Spring Boot con el objeto Al­wa­y­s­Sa­m­pler (Bean) para activar la ex­po­r­ta­ción au­to­má­ti­ca de los logs de Sleuth al servidor de Zipkin:

@Bean
public AlwaysSampler defaultSampler() {
    return new AlwaysSampler();
}

Octavo paso: anotar el URL base del servidor de Zipkin en el archivo PRO­PE­R­TIES “ap­pli­ca­tion”

Para acabar, es­pe­ci­fi­ca el URL base del servidor de Zipkin en las pro­pie­da­des de la apli­ca­ción, abriendo una vez más el archivo PRO­PE­R­TIES del proyecto de Spring Boot e in­tro­du­cie­n­do la siguiente línea:

spring.zipkin.baseUrl = http://localhost:9411/zipkin/
Ir al menú principal