| Decision Area | Current Option(s) in Skill | Alternate Options NOT Covered |
|---|---|---|
| Migration Strategy | Spring Compatibility (quarkus-spring-*), Full Quarkus (JAX-RS/CDI) |
Hybrid (compat for some layers, full for others) |
| Target Java Version | Java 21+ (hard gate, blocks migration if < 21) | — |
| Build System | Maven (pom.xml), Gradle Groovy (build.gradle), Gradle Kotlin DSL (build.gradle.kts) |
— |
| REST Framework | Full: RESTEasy (JAX-RS @Path), Compat: quarkus-spring-web (@RestController) |
RESTEasy Reactive vs Classic not explicitly distinguished; no GraphQL option |
| Dependency Injection | Full: CDI/Arc (@ApplicationScoped, @Inject), Compat: quarkus-spring-di |
— |
| Persistence Strategy | Full: Hibernate ORM with Panache (Active Record and Repository pattern), Compat: quarkus-spring-data-jpa |
Standard Hibernate ORM without Panache (raw EntityManager); Panache with Kotlin; Reactive Hibernate |
| Database | H2, PostgreSQL, MySQL (JDBC drivers mapped) | MariaDB, Oracle, MS SQL, MongoDB (listed in dep-map but no config guidance) |
| Database Migration | Flyway (config mapped), Liquibase (dependency mapped) | Liquibase config properties not mapped in config-map |
| Dev Services | %prod. prefix pattern for datasource (auto DB in dev/test) |
No explicit guidance on configuring specific Dev Services containers |
| Naming Strategy | CamelCaseToUnderscoresNamingStrategy workaround documented |
— |
| Web Views / Templates | Thymeleaf → Qute (full syntax table, @CheckedTemplate, strict rendering) |
JSP migration, JSF/MyFaces, Freemarker (only dependency listed), static SPA frontends |
| Static Resources | static/ → META-INF/resources/ |
Webjars |
| Security | Full: quarkus-security + quarkus-oidc, Compat: quarkus-spring-security (limited SpEL) |
LDAP, JWT (standalone), form-based auth config, RBAC details, Keycloak-specific setup |
| CSRF | Remove Spring CSRF tokens; mentions quarkus-csrf-reactive |
No setup guidance for Quarkus CSRF |
| Caching | Full: @CacheResult/@CacheInvalidate, Compat: quarkus-spring-cache |
Redis cache, Infinispan |
| Scheduling | Full: @io.quarkus.scheduler.Scheduled, Compat: quarkus-spring-scheduled |
Quartz (dependency mapped but no migration guide) |
| Configuration | Full: @ConfigMapping, Compat: quarkus-spring-boot-properties (@ConfigurationProperties) |
MicroProfile Config, @ConfigProperties |
| Messaging | Dependencies mapped: AMQP (quarkus-smallrye-reactive-messaging-amqp), Kafka (quarkus-smallrye-reactive-messaging-kafka) |
No code migration guide for messaging; no JMS/Artemis; no RabbitMQ specific |
| Observability | Actuator → quarkus-smallrye-health + quarkus-micrometer; config mapped; quarkus-opentelemetry in dep-map |
No migration guide for custom health checks, custom metrics, tracing setup |
| Logging | Config mapped: logging.level.* → quarkus.log.category, file logging, console format |
Structured JSON logging (quarkus-logging-json listed but not guided), MDC, custom log handlers |
| Profiles | application-{profile}.properties → %profile. prefix; @Profile → @IfBuildProfile |
Multi-profile strategies, @UnlessBuildProfile, runtime profile config |
| Testing | @SpringBootTest → @QuarkusTest, @MockBean → @InjectMock, TestRestTemplate → REST Assured, @ActiveProfiles → @TestProfile |
@QuarkusIntegrationTest (native), Testcontainers, @QuarkusTestResource, continuous testing |
| Application Lifecycle | CommandLineRunner → @QuarkusMain / @Observes StartupEvent, ApplicationRunner → @QuarkusMain, CLI → Picocli @TopCommand |
Graceful shutdown, ShutdownEvent, lifecycle priorities |
| Spring Data REST | Compat: quarkus-spring-data-rest (@RepositoryRestResource) |
Full migration alternative (manual REST endpoints) |
| Spring Cloud Config | Compat: quarkus-spring-cloud-config-client (config mapped) |
Consul, Vault, Kubernetes ConfigMaps |
| CORS | @CrossOrigin → quarkus.http.cors.* properties |
— |
| Container / Native | Maven native profile added; Gradle native via -Dquarkus.native.enabled=true |
Dockerfile generation, Jib, container image extensions (quarkus-container-image-docker, quarkus-container-image-jib) |
| Batch Processing | Not covered | Custom with Quarkus Scheduler, JBeret, skip/manual |
| Reactive | Not covered (Spring WebFlux → quarkus-rest mentioned in dep-map only) |
Mutiny, RESTEasy Reactive pipelines, Reactive Hibernate, reactive messaging patterns |
| OpenAPI / Swagger | Not covered | quarkus-smallrye-openapi |
| GraphQL | Not covered | quarkus-smallrye-graphql |
| gRPC | Not covered | quarkus-grpc |
| WebSocket | Not covered | quarkus-websockets-next |
| Not covered | quarkus-mailer |
|
| Fault Tolerance | Not covered | quarkus-smallrye-fault-tolerance (retries, circuit breakers, timeouts) |
Created
June 23, 2026 13:35
-
-
Save aureamunoz/1fb29abf72716bdd699312b51f0668bb to your computer and use it in GitHub Desktop.
Migration Skill Technology Coverage Matrix
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment