Ray, great insights (as always). I think there’s a case for using prefetch along with caching as well though. If you do cache a service’s results and they expire in say, 60 minutes, when that service is invoked again it will run and have its results re-cached. If you set up prefetch however, when the cache expires the service will automatically be run again to re-cache its results, without waiting for another invocation.
This may seem of marginal value, but I would think it could provide some benefit in very demanding situations. The problem I see with it is that prefetch would seem to be more valuable for very intensive services. However, these types of services are less likely to be good candidates for caching.
As for the difficulties with caching itself, I couldn’t agree more. In fact, I’m certain I’ve requested a change to the default behavior in the Advantage WishList forum at least once. There are also other threads here (as I’m sure you know) where some have made suggestions for workarounds. Unfortunately, they all require very deliberate coding practices to succeed, and that requires lots of coordination in a moderate-to-large development team.
#Flow-and-Java-services#Integration-Server-and-ESB#webMethods