<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-12168038.post2336228446972197715..comments</id><updated>2008-12-05T09:30:01.893+05:30</updated><title type='text'>Comments on Vinod Singh: Using dynamic proxies for cache implementation</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.vinodsingh.com/feeds/2336228446972197715/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12168038/2336228446972197715/comments/default'/><link rel='alternate' type='text/html' href='http://blog.vinodsingh.com/2008/10/using-dynamic-proxies-for-cache_07.html'/><author><name>Vinod Singh</name><uri>http://www.blogger.com/profile/14429571106836951918</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12168038.post-7996130702171997546</id><published>2008-12-05T09:30:01.893+05:30</published><updated>2008-12-05T09:30:01.893+05:30</updated><title type='text'>Mathew,Yes, your observations are valid and I am a...</title><content type='html'>Mathew,&lt;BR/&gt;&lt;BR/&gt;Yes, your observations are valid and I am aware of. This post just demonstrates the concept and far form being used as it is in production system. Besides the 'get' one has to handle 'update' and 'delete' functionality as well, so that cache is always in sync with database.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12168038/2336228446972197715/comments/default/7996130702171997546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12168038/2336228446972197715/comments/default/7996130702171997546'/><link rel='alternate' type='text/html' href='http://blog.vinodsingh.com/2008/10/using-dynamic-proxies-for-cache_07.html?showComment=1228449601893#c7996130702171997546' title=''/><author><name>Vinod Singh</name><uri>http://www.blogger.com/profile/14429571106836951918</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05637947753824606738'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.vinodsingh.com/2008/10/using-dynamic-proxies-for-cache_07.html' ref='tag:blogger.com,1999:blog-12168038.post-2336228446972197715' source='http://www.blogger.com/feeds/12168038/posts/default/2336228446972197715' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-12168038.post-5688810737734282549</id><published>2008-12-05T04:48:03.112+05:30</published><updated>2008-12-05T04:48:03.112+05:30</updated><title type='text'>Thanks for taking the time to write this post!Your...</title><content type='html'>Thanks for taking the time to write this post!&lt;BR/&gt;&lt;BR/&gt;Your use of only the first parameter in the method call (in CacheProxy, line 24), has a bug if you wrap a method that takes 2 or more parameters.&lt;BR/&gt;&lt;BR/&gt;As an example, let's try to cache a new method whose object has a composite key, getComposite(int key1, int key2).&lt;BR/&gt;&lt;BR/&gt;getComposite(1, 1) will fetch (1, 1), cache the result and associate it to new Integer(1).&lt;BR/&gt;&lt;BR/&gt;If you subsequently call getComposite(1, 2), it will incorrectly return (1, 1) because the first argument matched your cache backing store.&lt;BR/&gt;&lt;BR/&gt;You could serialize the argument array and using that byte array as the key, or something else that looks at the argument list comprehensively to address this issue.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12168038/2336228446972197715/comments/default/5688810737734282549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12168038/2336228446972197715/comments/default/5688810737734282549'/><link rel='alternate' type='text/html' href='http://blog.vinodsingh.com/2008/10/using-dynamic-proxies-for-cache_07.html?showComment=1228432683112#c5688810737734282549' title=''/><author><name>Matthew McEachen</name><uri>http://matthew.mceachen.us</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.vinodsingh.com/2008/10/using-dynamic-proxies-for-cache_07.html' ref='tag:blogger.com,1999:blog-12168038.post-2336228446972197715' source='http://www.blogger.com/feeds/12168038/posts/default/2336228446972197715' type='text/html'/></entry></feed>