BMAD-METHOD/expansion-packs/bmad-java/tasks/java-microservice-setup.md

123 lines
3.4 KiB
Markdown

# Java Microservice Setup Task
## Purpose
Initialize a new Java microservice project using Java 21, Spring Boot, Spring Cloud, Maven, and AWS cloud platform. Creates the foundation for a modern microservice with proper project structure, dependencies, and configuration.
## When to Use
- Starting a new Java microservice project
- Creating a microservice with Spring Boot and Spring Cloud
- Setting up a project for AWS EKS deployment
- Establishing a foundation for microservice development with modern Java
## Input Requirements
- Microservice name and description
- Service responsibilities and boundaries
- Inter-service communication requirements
- Service discovery preferences
- AWS deployment preferences
- Monitoring and observability requirements
## Process Steps
### 1. Project Structure Creation
- Create Maven project structure
- Set up source directories (src/main/java, src/main/resources)
- Set up test directories (src/test/java, src/test/resources)
- Create package structure following microservice conventions
- Initialize Git repository
### 2. Maven Configuration
- Create pom.xml with Java 21 configuration
- Add Spring Boot parent POM
- Add Spring Cloud dependencies
- Configure Maven compiler plugin
- Add Spring Boot Maven plugin
- Configure build profiles (dev, test, prod)
- Set up Maven wrapper
### 3. Spring Boot Configuration
- Add Spring Boot Web starter dependency
- Add Spring Boot Data JPA starter dependency
- Add Spring Boot Security starter dependency
- Add Spring Boot Test starter dependency
- Add Spring Boot Actuator starter dependency
- Add Spring Cloud dependencies
- Configure application.properties/yml
### 4. Spring Cloud Configuration
- Add Spring Cloud Netflix dependencies (Eureka, Gateway)
- Add Spring Cloud Config dependencies
- Add Spring Cloud Sleuth dependencies
- Add Resilience4j dependencies
- Configure service discovery
- Configure API Gateway
- Configure distributed tracing
### 5. Microservice Configuration
- Create main application class
- Configure Spring Boot for microservice
- Set up service discovery client
- Configure circuit breaker
- Set up health checks
- Configure metrics and monitoring
- Set up distributed tracing
### 6. Development Environment Setup
- Configure IDE for Java 21 and Spring Boot
- Set up local development database
- Configure application profiles
- Set up service discovery server locally
- Configure API Gateway locally
- Set up debugging environment
## Output Deliverables
- Complete Maven project structure
- Configured pom.xml with all dependencies
- Spring Boot microservice configuration
- Spring Cloud configuration
- Service discovery setup
- Development environment setup guide
- Basic microservice template
- Git repository with initial commit
## Success Criteria
- Maven project builds successfully
- Spring Boot application starts without errors
- Service discovery registration working
- Health checks accessible
- Metrics and monitoring working
- Development environment fully functional
- All dependencies resolved correctly
- Project ready for microservice development
## Dependencies
- Java 21 JDK installed
- Maven 3.9+ installed
- IDE configured for Java development
- Git repository access
- AWS account (for deployment)
- Service discovery server (Eureka/Consul)
## Tools and Resources
- Maven build tool
- Spring Boot framework
- Spring Cloud
- Java 21 JDK
- IDE (IntelliJ IDEA, Eclipse, VS Code)
- Git version control
- Service discovery tools
- AWS CLI (for deployment)