Slido

https://sli.do
#geecon2019

Room 6

Reflection-Free Applications with Micronaut 

Vladimír Oraný

Software Developer @ Agorapulse

@musketyr

 

 

 

About Me

  • Vladimír Oraný
  • Software Developer @ Agorapulse
  • Groovy Developer for 10 years
    • Gaelyk
    • Grails
    • Micronaut
  • Testing & DSL Enthusiast 
  • Toolsmith
    • Spreadsheet Builder
    • Dru & Gru Testing Frameworks
    • Agorapulse Micronaut Libraries
    • Agorapulse Testing Libraries
      • OfficeUnit

Agenda

  • Problems of Current Java Frameworks
    • Why Reflection-Free Matters?
    • Other Java's Problem
    • Why is cloud different?
  • Micronaut Framework
    • HTTP Server
    • Bean Validation
    • Bean Introspection
    • Micronaut Data
    • GraalVM Integration
  • Summary

Problems of Current Java Frameworks

Why Reflection-Free Matters?

  • Reflection data are kept in memory unless GCed
  • Using reflection is slower
  • Breaks Ahead-of-Time compilation (GraalVM)

Other Java's Problem

  • Limited annotation API
  • Type erasure
  • Classpath scanning
  • Slow dynamic class loading

Why is Cloud Different?

  • Cold starts
  • Pricing model
    • Memory / CPU
    • Time spent

Micronaut

 

Micronaut Applications

  • HTTP Server
  • HTTP Client
  • WebSocket/SSE
  • CLI
  • Functions
  • Scheduled Jobs
  • Stream Listeners (Kafka, Kinesis)

Micronaut Ecosystem & Friends 

  • MongoDB
  • Open API
  • Neo4j
  • Netflix
  • RSS
  • RabitMQ
  • Redis
  • JDBC
  • Security
  • Views 1.3
  • Spring
  • AWS
  • Micronaut Data
  • ElasicSearch
  • Flyway
  • GRPC
  • GraphQL
  • Groovy
  • Kafka
  • Kubernates 1.3
  • Liquibase
  • Micrometer

Showtime

Micronaut + GraalVM + AWS Lambda

Summary

  • Using reflection impacts memory and performance
  • Reflection breaks AOT (read GraalVM)
  • Micronaut Reflection-Free AOT
    • Bean Introspection
    • Validation
    • Data Access Layer
  • Micronaut + GraalVM = BFF

 

Thank You

Reflection-Free Applications with Micronaut

By musketyr

Reflection-Free Applications with Micronaut

  • 1,614