So far, so good for anyone wanting to do this in CF9. I've implemented add, have, get, discard, discardall and shutdown (which just calls discardall).
Main benefit I was looking for is not having to manage the ehCache instance myself. If I fail to properly shutdown an ehcache instance, it remains in memory. Using the CF9 object cache, I simulate a "shutdown" by discarding all of the objects in the CF9 object cache that begin with my providers naming prefix. And if that were to fail for any reason, the objects themselves have a timeout and would be purged in time anyway by CF9. Obvious limitations are with the limited ways in which CF9 allows you to interact with its object cache but so far it's looking viable for my needs. - Gabriel On Tue, Jan 19, 2010 at 6:43 PM, Dorioo <[email protected]> wrote: > Just testing what it's like to make one that uses CF9's built in object > cache (cachePut, cacheGet, etc). If transfer is just creating instances of > ehCache, I'm curious to see what happens if I just use CF9's ehcache > instance (object cache). > > So I'm starting with the nocacheprovider and trying to find the minimum > number of functions that need to changed. The others can remain the same as > in the nocacheprovider. > > - Gabriel > > > On Tue, Jan 19, 2010 at 6:26 PM, Mark Mandel <[email protected]>wrote: > >> Gabriel, >> >> If you have a look at the AbstractCacheProvider (which is what you really >> want to be extending), look at the methods that throw VirtualMethodException >> - those are the ones you need to overwrite. >> >> What are you building? >> >> Mark >> >> On Wed, Jan 20, 2010 at 8:15 AM, gabriel <[email protected]> wrote: >> >>> Hi Mark, >>> >>> If you start with the "NoCacheProvider.cfc" as the basis for a new >>> cache provider, what are the minimum core methods that really need to >>> be implemented to have a practical cache provider. >>> >>> For example, all of the statistics methods like "getHits" could remain >>> unimplemented as they're not really core to the cache provider being >>> functional. >>> >>> So, maybe the 5 below have to be implemented to have a functional >>> cache. >>> >>> 1. Add >>> 2. Have >>> 3. Get >>> 4. Discard >>> 5. DiscardAll >>> >>> Are there any others that you consider "core" (assuming DiscardAll >>> qualifies as core) ? >>> >>> Thank you, >>> Gabriel >>> >>> -- >>> Before posting questions to the group please read: >>> >>> http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer >>> >>> You received this message because you are subscribed to the Google Groups >>> "transfer-dev" group. >>> To post to this group, send email to [email protected] >>> To unsubscribe from this group, send email to >>> [email protected] >>> For more options, visit this group at >>> http://groups.google.com/group/transfer-dev?hl=en >>> >> >> >> >> -- >> E: [email protected] >> T: http://www.twitter.com/neurotic >> W: www.compoundtheory.com >> >> Hands-on ColdFusion ORM Training @ cf.Objective() 2010 >> www.ColdFusionOrmTraining.com/ >> >> -- >> Before posting questions to the group please read: >> >> http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer >> >> You received this message because you are subscribed to the Google Groups >> "transfer-dev" group. >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/transfer-dev?hl=en >> > > -- Before posting questions to the group please read: http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer You received this message because you are subscribed to the Google Groups "transfer-dev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/transfer-dev?hl=en
