Skip to main content

Sample Projects

Spring Boot Admin includes several sample projects demonstrating different deployment scenarios and integration patterns. These samples provide working examples you can use as starting points for your own implementations.

Available Samples​

Basic Deployments​

Service Discovery​

Advanced​

Repository Location​

All samples are available in the Spring Boot Admin GitHub repository:

spring-boot-admin-samples/
├── spring-boot-admin-sample-servlet/
├── spring-boot-admin-sample-reactive/
├── spring-boot-admin-sample-war/
├── spring-boot-admin-sample-eureka/
├── spring-boot-admin-sample-consul/
├── spring-boot-admin-sample-zookeeper/
├── spring-boot-admin-sample-hazelcast/
└── spring-boot-admin-sample-custom-ui/

Running the Samples​

Prerequisites​

  • Java 17 or higher
  • Maven 3.6 or higher
  • Docker (optional, for some samples)

Build All Samples​

git clone https://github.com/codecentric/spring-boot-admin.git
cd spring-boot-admin
mvn clean install -DskipTests

Run Individual Sample​

cd spring-boot-admin-samples/spring-boot-admin-sample-servlet
mvn spring-boot:run

Access the Admin UI at: http://localhost:8080

Default Credentials​

Most secured samples use:

  • Username: user
  • Password: Check console output or application.yml

Sample Features Comparison​

FeatureServletReactiveEurekaConsulZookeeperHazelcastCustom UIWAR
Web StackServletWebFluxServletServletServletServletServletServlet
Security✅✅✅✅----
Service DiscoveryStaticStaticEurekaConsulZookeeperStaticStaticStatic
Clustering-----✅--
Custom UI------✅-
JMX Support✅------✅
Notifications✅-------

Common Configuration​

All samples share common patterns:

Actuator Configuration​

management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: ALWAYS

Logging Configuration​

logging:
file:
name: "target/boot-admin-sample.log"
pattern:
file: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID}){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n%wEx"

Build Info​

All samples generate build information:

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>build-info</goal>
</goals>
</execution>
</executions>
</plugin>

Quick Start Guide​

cd spring-boot-admin-samples/spring-boot-admin-sample-servlet
mvn spring-boot:run

Features:

  • Security enabled
  • Self-monitoring
  • Mail notifications
  • Custom UI extensions
# Start Eureka Server
docker run -d -p 8761:8761 springcloud/eureka

# Start Admin Server
cd spring-boot-admin-samples/spring-boot-admin-sample-eureka
mvn spring-boot:run

Features:

  • Automatic service discovery
  • Dynamic registration
  • No client library needed
# Start multiple instances
cd spring-boot-admin-samples/spring-boot-admin-sample-hazelcast

# Terminal 1
SERVER_PORT=8080 mvn spring-boot:run

# Terminal 2
SERVER_PORT=8081 mvn spring-boot:run

Features:

  • High availability
  • Shared event store
  • Load balancing ready

Docker Support​

Some samples include Docker Compose configurations:

cd spring-boot-admin-samples/spring-boot-admin-sample-eureka
docker-compose up

Customizing Samples​

Use the samples as templates:

  1. Copy sample directory:

    cp -r spring-boot-admin-sample-servlet my-admin-server
  2. Update pom.xml:

    <artifactId>my-admin-server</artifactId>
    <name>My Admin Server</name>
  3. Customize configuration:

    • Update application.yml
    • Add security configuration
    • Configure notifications
  4. Build and run:

    mvn clean package
    java -jar target/my-admin-server.jar

Testing Samples​

Each sample includes tests:

cd spring-boot-admin-samples/spring-boot-admin-sample-servlet
mvn test

Troubleshooting Samples​

Port Already in Use​

Change the port:

SERVER_PORT=9090 mvn spring-boot:run

Or in application.yml:

server:
port: 9090

Build Failures​

Clean and rebuild:

mvn clean install -DskipTests

Dependencies Issues​

Update Spring Boot Admin version in parent POM and rebuild.

Contributing​

To add a new sample:

  1. Create directory under spring-boot-admin-samples/
  2. Follow existing sample structure
  3. Add README.md with specific instructions
  4. Include docker-compose.yml if applicable
  5. Add tests
  6. Update samples documentation

See Also​