I have an application that is deployed on a Glassfish server, for which methods are invoked remotely (using standard JNDI and RMI over IIOP features). I would like to install some caching features on client, to avoid both multiple network calls and optimize application behaviour.
So, how could I have a caching feature for which, optimaly,
- I declare what remote interface calls can be cached using an annotation on interface
- all the caching is handled transparently
Optionnally, I must mention my client app gets used remote EJB instances using Weld, which can optionally be used to intercept EJB method calls.
It seems like, starting together with JCache JSR, most open-source cache “vendors” today provide some quasi-standardized caching annotations :
And that’s all.
According to my current stack, best choice (for now) could be Infinispan as ehcache implementation is marked as “experimental” and evolving with the spec.