Spring Integration - Cache requests for inbound/outbound gateway
by GarciaPL on Sunday, 8 January 2017
Do you use inbound or outbound http gateway in Spring Integration and you was thinking about caching some requests ? There is a solution for that! It's can be achieved with <request-handler-advice-chain> and Spring Cache Advice.
<int-http:outbound-gateway> <int-http:request-handler-advice-chain> <cache:advice> <cache:caching cache="cacheKey"> <cache:cacheable method="handle*Message" key="#a0.payload.id"/> </cache:caching> </cache:advice> </int-http:request-handler-advice-chain> </int-http:outbound-gateway>
You might see above that handle*Message will be considered by Spring Cache Advice to invoke cache functionality. To be more specific we are thinking about handleRequestMessage method and it's parameters defined as a part of HttpRequestExecutingMessageHandler which will be considered as a key - id in our case. Moreover you need to define explicitly cacheManager bean and define key for cache entry (cacheKey in our case) using for instance EhCache.
References : [1] Spring Integration - Cache for inbound/outbound gateway
Spring Integration - Cache requests for inbound/outbound gateway
2017-01-08T21:36:00Z
GarciaPL
Java|Spring|