line / armeria

Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
https://armeria.dev
Apache License 2.0
4.82k stars 919 forks source link

Update auto-configuration to use @Configuration(proxyBeanMethods=false) #2746

Open codefromthecrypt opened 4 years ago

codefromthecrypt commented 4 years ago

I noticed looking at Zipkin that there are a few places with probably unnecessary proxying. This can be disabled in Spring Boot 2.2.x via @Configuration(proxyBeanMethods=false)

See spring-projects/spring-boot#9068

$ curl -s localhost:9411/actuator/beans|jq '.contexts.application.beans'
--snip--
  "com.linecorp.armeria.spring.ArmeriaAutoConfiguration": {
    "aliases": [],
    "scope": "singleton",
    "type": "com.linecorp.armeria.spring.ArmeriaAutoConfiguration$$EnhancerBySpringCGLIB$$6c122f65",
    "resource": null,
    "dependencies": []
  },
--snip--
  "armeriaSpringActuatorAutoConfiguration": {
    "aliases": [],
    "scope": "singleton",
    "type": "com.linecorp.armeria.spring.actuate.ArmeriaSpringActuatorAutoConfiguration$$EnhancerBySpringCGLIB$$1150bb3e",
    "resource": null,
    "dependencies": []
  },
--snip--
trustin commented 4 years ago

We still support Spring Boot 1 (based on Spring Framework 4) due to internal reasons and this property is only available since Spring Framework 5.2. We'll have to wait a little bit more..