spring
-
Spring AMQPspring 2019. 5. 13. 14:13
개요 Spring AMQP는 AMQP 기반의 메세징 솔루션이다. 메세지를 주고 받는 것과 관련한 추상화된 template을 제공한다. 이를 이해하기 위해서, Message Queue, AMQP를 우선 살펴본다. Message Queue MOM(Message Oriented Middleware) 응용 스프트웨어 간의 메세지 교환을 비동기적으로 처리하기 위한 소프트웨어이다. Message Queue는 MOM을 구현하기 위해 주로 사용되는 방법이다. 이름에서 유추할 수 있듯이 메시징에 큐를 사용한다. sender와 receiver가 직접적으로 메시지를 교환하지 않고, 중간에 큐를 두어 비동기적으로 교환한다. publisher/subscriber model) 따라서, application과 분리가 가능하고, 메..
-
JDK Dynamic Proxy vs CGLib Proxyspring 2019. 5. 13. 11:57
개요 Spring AOP는 2가지 타입의 proxy를 제공한다. 바로 JDK Dynamic Proxy와 CGLib Proxy이다. Spring AOP의 ProxyFactoryBean이 proxy를 생성하는데, 경우에 따라 이 둘 중 하나를 선택해서 사용하는 방식이다. 각 Proxy가 어떻게 다르고 어떤 경우에 쓰이는지 살펴보자. JDK Dynamic Proxy JDK Dynamic Proxy는 interface 기반의 proxy이다. 이는 큰 단점인데, 왜냐하면 모든 target class가 interface를 구현하고 있어야하기 때문이다. 또한, JDK Dynamic Proxy는 Java reflecton을 사용해 method를 invoke한다. 이를 이해하기 위해 먼저 Java reflection을 ..