<?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/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2526530296860697225</id><updated>2011-12-29T15:25:50.520Z</updated><category term='pojocache'/><category term='3.0.0'/><category term='2.2.1'/><category term='poblano'/><category term='clustering'/><category term='documentation'/><category term='cache'/><category term='pojo'/><category term='forums'/><category term='community'/><category term='maven'/><category term='NBST'/><category term='moore&apos;s law'/><category term='benchmark'/><category term='query'/><category term='user stories'/><category term='evolution'/><category term='GUI'/><category term='alegrias'/><category term='firefox'/><category term='infinispan'/><category term='GA'/><category term='3.0.3'/><category term='download'/><category term='testng'/><category term='searchable'/><category term='configuration'/><category term='searchable cache'/><category term='2.2.0'/><category term='month of bugs'/><category term='performance'/><category term='hibernate search'/><category term='jbcs'/><category term='greasemonkey'/><category term='presentations'/><category term='amdahl&apos;s law'/><category term='hibernate'/><category term='scalability'/><category term='jboss cache'/><category term='lucene'/><category term='cascabel'/><category term='hudson'/><category term='maven2'/><category term='mvcc'/><category term='concurrency'/><category term='gaming'/><category term='CR'/><category term='beta'/><category term='2.1.1.GA'/><category term='alpha'/><category term='editor'/><category term='replicated'/><category term='cayenne'/><category term='blogger'/><category term='compatibility'/><category term='ehcache'/><category term='malagueta'/><category term='naga'/><category term='parallelism'/><category term='search'/><category term='index'/><category term='final'/><category term='release candidate'/><category term='release'/><category term='caching'/><category term='MOB'/><category term='deadlock'/><category term='Demo'/><category term='habanero'/><category term='subversion'/><category term='locking'/><title type='text'>The official JBoss Cache blog</title><subtitle type='html'>The official blog site for JBoss Cache, an open source, LGPL licensed clustering and caching library.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>68</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-2794461014385296374</id><published>2010-04-23T13:51:00.002+01:00</published><updated>2010-04-23T13:56:36.623+01:00</updated><title type='text'>JBoss Cache 3.2.4.GA released!</title><content type='html'>Hi,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Today we've released &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;JBoss&lt;/span&gt; Cache 3.2.4.GA which contains fixes in &lt;a href="https://jira.jboss.org/jira/secure/IssueNavigator.jspa?reset=true&amp;amp;&amp;amp;fixfor=12314870&amp;amp;pid=10051&amp;amp;resolution=-1&amp;amp;sorter/field=priority&amp;amp;sorter/order=DESC"&gt;here&lt;/a&gt;. Note as well that a couple of days ago we released 3.2.3.GA which had fixed &lt;a href="https://jira.jboss.org/jira/secure/IssueNavigator.jspa?reset=true&amp;amp;&amp;amp;fixfor=12314562&amp;amp;pid=10051&amp;amp;sorter/field=issuekey&amp;amp;sorter/order=DESC"&gt;these other issues&lt;/a&gt;. If you're using the Expiration eviction algorithm, you'll be greatly benefited from these releases.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, remember that JBoss has moved to a new Nexus based maven repository, so make sure you update your local Maven settings as per instructions &lt;a href="http://community.jboss.org/wiki/MavenRepositoryConfiguration"&gt;here&lt;/a&gt; in order to retrieve the new JBoss Cache releases.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;Galder&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-2794461014385296374?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/2794461014385296374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=2794461014385296374' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2794461014385296374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2794461014385296374'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2010/04/jboss-cache-324ga-released.html' title='JBoss Cache 3.2.4.GA released!'/><author><name>Galder Zamarreno</name><uri>http://www.blogger.com/profile/14723188368981659001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-234238974586679292</id><published>2010-02-16T11:44:00.002Z</published><updated>2010-02-16T11:50:14.591Z</updated><title type='text'>JBossCache3.2.3CR1 released!</title><content type='html'>JBossCache3.2.3CR1 has just been released. It contains a single performance improvement[1] that significantly increases the throughput when JDBC cache loader is used under heavy load. Thanks to Nikolay Zamosenchuk for investigating and fixing this!&lt;br /&gt;&lt;br /&gt;[1] https://jira.jboss.org/jira/browse/JBCACHE-1569&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-234238974586679292?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/234238974586679292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=234238974586679292' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/234238974586679292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/234238974586679292'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2010/02/jbosscache323cr1-released.html' title='JBossCache3.2.3CR1 released!'/><author><name>Mircea Markus</name><uri>http://www.blogger.com/profile/05770462190019736584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_ISQfVF8ALAQ/Sm3S_Le22xI/AAAAAAAABqU/lAI5B7VN5x8/S220/mircea.markus.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-4011674882216914355</id><published>2009-10-01T13:40:00.002+01:00</published><updated>2009-10-01T13:43:02.873+01:00</updated><title type='text'>JBossCache 3.2.1GA released</title><content type='html'>Hi,&lt;br /&gt;&lt;br /&gt;This release includes mainly bug fixes and performance improvements. You can find a detailed list of all items included &lt;a href="https://jira.jboss.org/jira/secure/IssueNavigator.jspa?reset=true&amp;amp;pid=10051&amp;amp;fixfor=12313914"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-4011674882216914355?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/4011674882216914355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=4011674882216914355' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/4011674882216914355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/4011674882216914355'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/10/jbosscache-321ga-released.html' title='JBossCache 3.2.1GA released'/><author><name>Mircea Markus</name><uri>http://www.blogger.com/profile/05770462190019736584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_ISQfVF8ALAQ/Sm3S_Le22xI/AAAAAAAABqU/lAI5B7VN5x8/S220/mircea.markus.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-1115108527196537189</id><published>2009-09-25T14:13:00.000+01:00</published><updated>2009-09-25T14:14:04.208+01:00</updated><title type='text'>Release of JBossCache3.2.1CR1</title><content type='html'>&lt;span class="postbody"&gt;Hi,&lt;br /&gt;&lt;br /&gt;JBossCache3.2.1CR1 [1] has just been released.&lt;br /&gt;Besides other fixes[2], this includes the integration with jgroups 2.6.13.CR2.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="https://svn.jboss.org/repos/repository.jboss.org/maven2/org/jboss/cache/jbosscache-core/3.2.1.CR1/" target="_blank" class="postlink"&gt;https://svn.jboss.org/repos/repository.jboss.org/maven2/org/jboss/cache/jbosscache-core/3.2.1.CR1/&lt;/a&gt; &lt;br /&gt;[2] &lt;a href="https://jira.jboss.org/jira/secure/IssueNavigator.jspa?reset=true&amp;amp;pid=10051&amp;amp;fixfor=12313922" target="_blank" class="postlink"&gt;https://jira.jboss.org/jira/secure/IssueNavigator.jspa?reset=true&amp;amp;pid=10051&amp;amp;fixfor=12313922&lt;/a&gt;  &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-1115108527196537189?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/1115108527196537189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=1115108527196537189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1115108527196537189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1115108527196537189'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/09/release-of-jbosscache321cr1.html' title='Release of JBossCache3.2.1CR1'/><author><name>Mircea Markus</name><uri>http://www.blogger.com/profile/05770462190019736584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_ISQfVF8ALAQ/Sm3S_Le22xI/AAAAAAAABqU/lAI5B7VN5x8/S220/mircea.markus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-5630888838366090514</id><published>2009-08-24T11:00:00.004+01:00</published><updated>2009-08-24T11:08:04.845+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GA'/><category scheme='http://www.blogger.com/atom/ns#' term='malagueta'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>JBoss Cache 3.2.0 Malagueta just released!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.worldcrops.org/images/content/malagueta_saopaulo_500_400.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 191px; height: 113px;" src="http://www.worldcrops.org/images/content/malagueta_saopaulo_500_400.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Another major JBoss Cache release: say hello to Malagueta!&lt;br /&gt;&lt;br /&gt;While this is primarily a bug fix release, I have decided to bump up the minor version number (3.1.x -&gt; 3.2.x) due to library compatibility.  JBoss Cache 3.1.x could only support JGroups up to and equalling 2.6.x.  Due to dependence on certain JGroups classes, 3.1.x will not work with newer JGroups releases (such as &lt;a href="http://belaban.blogspot.com/2009/08/280cr1-released.html"&gt;JGroups 2.8.x&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;JBoss Cache 3.2.0 adds the ability to work with both JGroups 2.6.x as well as 2.8.x and beyond, and as such is more future-proof.  Visit &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12311619&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;JIRA&lt;/a&gt; for a full changelog of issues addressed in this release.  &lt;a href="http://www.jboss.org/community/wiki/JBossCacheDownloadsPage"&gt;Downloads&lt;/a&gt; and &lt;a href="http://www.jboss.org/community/wiki/JBossCacheOfficialDocumentation"&gt;documentation&lt;/a&gt; are in the usual places.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-5630888838366090514?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/5630888838366090514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=5630888838366090514' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5630888838366090514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5630888838366090514'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/08/jboss-cache-320-malagueta-just-released.html' title='JBoss Cache 3.2.0 Malagueta just released!'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-1539942022112947912</id><published>2009-05-05T09:58:00.003+01:00</published><updated>2009-05-05T10:06:57.802+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GA'/><category scheme='http://www.blogger.com/atom/ns#' term='NBST'/><category scheme='http://www.blogger.com/atom/ns#' term='cascabel'/><category scheme='http://www.blogger.com/atom/ns#' term='locking'/><title type='text'>JBoss Cache 3.1.0 Cascabel in final release</title><content type='html'>I've just released JBoss Cache 3.1.0.GA, codenamed &lt;span style="font-style: italic;"&gt;Cascabel&lt;/span&gt;.  The big feature in this release is non-blocking state transfer, which allows for state to be transferred to new joiners in a cluster without freezing the cluster.  I blogged about non-blocking state transfer some months ago, &lt;a href="http://jbosscache.blogspot.com/2009/03/jboss-cache-310beta1.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Other changes include some critical bug fixes such as &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1490"&gt;JBCACHE-1490&lt;/a&gt;, &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1496"&gt;JBCACHE-1496&lt;/a&gt;, &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1507"&gt;JBCACHE-1507&lt;/a&gt; and &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1508"&gt;JBCACHE-1508&lt;/a&gt;.  New features - in addition to non-blocking state transfer - include a new &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1494"&gt;lock-per-Fqn scheme&lt;/a&gt; for MVCC, which provides greater concurrency than the striped lock mechanism at the cost of memory usage and a slight performance hit.&lt;br /&gt;&lt;br /&gt;The complete list of JIRAs addressed is &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12311895&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Downloads, documentation, etc are all in the usual place.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Manikc&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-1539942022112947912?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/1539942022112947912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=1539942022112947912' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1539942022112947912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1539942022112947912'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/05/jboss-cache-310-cascabel-in-final.html' title='JBoss Cache 3.1.0 Cascabel in final release'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-9072454093693405535</id><published>2009-04-29T15:57:00.003+01:00</published><updated>2009-04-29T15:59:38.639+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infinispan'/><title type='text'>Announcing Infinispan</title><content type='html'>I'd like to announce &lt;a href="http://www.infinispan.org"&gt;Infinispan&lt;/a&gt;, the spiritual successor to JBoss Cache.  Read all about it on the &lt;a href="http://infinispan.blogspot.com/2009/04/infinispan-start-of-new-era-in-open.html"&gt;Infinispan blog&lt;/a&gt;.  And for those of you wondering about the future of JBoss Cache, this is addressed in the &lt;a href="http://www.jboss.org/community/wiki/InfinispanProjectFAQs"&gt;Infinispan FAQs&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Also note that Infinispan 4.0.0.ALPHA2 is now available for download.  Please give it a go, feedback much appreciated.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-9072454093693405535?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/9072454093693405535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=9072454093693405535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/9072454093693405535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/9072454093693405535'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/04/announcing-infinispan.html' title='Announcing Infinispan'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-5450472120587501674</id><published>2009-04-02T17:26:00.002+01:00</published><updated>2009-04-02T17:30:13.867+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CR'/><category scheme='http://www.blogger.com/atom/ns#' term='cascabel'/><title type='text'>JBoss Cache 3.1.0.CR1 released</title><content type='html'>Announcing the first CR on Cascabel.  Click &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12313446&amp;amp;versions=12313447&amp;amp;versions=12313396&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;here&lt;/a&gt; for the changelog, &lt;a href="http://www.jboss.org/community/docs/DOC-12844"&gt;downloads&lt;/a&gt; and &lt;a href="http://www.jboss.org/community/docs/DOC-12843"&gt;docs&lt;/a&gt; are in the usual places.  Please grab them and provide as much feedback as possible, especially on non-blocking state transfer.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-5450472120587501674?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/5450472120587501674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=5450472120587501674' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5450472120587501674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5450472120587501674'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/04/jboss-cache-310cr1-released.html' title='JBoss Cache 3.1.0.CR1 released'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-3410912038413581769</id><published>2009-03-26T10:15:00.003Z</published><updated>2009-03-26T10:24:01.761Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='user stories'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>JBoss Cache and the community</title><content type='html'>Roberto Tyley, who provided an important fix to JBoss Cache's eviction queue processing code in &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1473"&gt;JBCACHE-1473&lt;/a&gt;, has written &lt;a href="http://www.guardian.co.uk/help/insideguardian/2009/mar/25/sharing-contributing-caching"&gt;an excellent article&lt;/a&gt; on open source, using the sources, finding, analysing bugs and contributing to the project.  He also has an interesting use case for JBoss Cache, using the cache in front of a database on a high-volume site such as &lt;a href="http://www.guardian.co.uk/"&gt;The Guardian&lt;/a&gt;, a major newspaper here in the UK.  I encourage you to have a read, along with &lt;a href="http://jbosscache.blogspot.com/2009/02/jboss-cache-in-load-testing.html"&gt;Frederik Johansson's article&lt;/a&gt; on using JBoss Cache for simulating distributed load for online gaming.&lt;br /&gt;&lt;br /&gt;Does anyone else have interesting usage stories they would like to share?&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-3410912038413581769?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/3410912038413581769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=3410912038413581769' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3410912038413581769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3410912038413581769'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/03/jboss-cache-and-community.html' title='JBoss Cache and the community'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-7635946094702843596</id><published>2009-03-20T15:29:00.004Z</published><updated>2009-03-21T08:48:57.835Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='NBST'/><category scheme='http://www.blogger.com/atom/ns#' term='cascabel'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='beta'/><title type='text'>JBoss Cache 3.1.0.BETA1</title><content type='html'>3.1.0's been somewhat delayed due to problems with Non-blocking State Transfer, but these have finally been overcome.&lt;br /&gt;&lt;br /&gt;Here's a quick summary first.  The first Beta of JBoss Cache 3.1.0 &lt;span style="font-style: italic;"&gt;Cascabel&lt;/span&gt; is now available in the usual places (&lt;a href="http://www.jboss.org/community/docs/DOC-12844"&gt;download&lt;/a&gt;, &lt;a href="http://www.jboss.org/community/docs/DOC-12843"&gt;docs&lt;/a&gt;, &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;forums&lt;/a&gt;).  The main feature of &lt;span style="font-style: italic;"&gt;Cascabel&lt;/span&gt; is &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1236"&gt;Non-blocking State Transfer&lt;/a&gt;, a new and highly efficient state transfer mechanism.  Also, since MVCC was introduced in JBoss Cache 3.0.0 &lt;span style="font-style: italic;"&gt;Naga&lt;/span&gt;, lock striping was used for the write locks held by nodes.  While lock striping is efficient, it always exposes a slight risk of deadlock.  In Cascabel, we now offer a &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1494"&gt;lock-per-Fqn option&lt;/a&gt; for MVCC, which is more expensive than striped locks but is guaranteed to be deadlock-free.  In addition, there are &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12313396&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;a host of bug fixes across the board&lt;/a&gt;, so this is definitely a version you should upgrade to if you use JBoss Cache 3.0.x.&lt;br /&gt;&lt;br /&gt;Now for the details, starting with Non-blocking State Transfer (NBST).  NBST has certain pre-requisites, specifically, that you use MVCC for locking and that you use JGroups' STREAMING_STATE_TRANSFER protocol.  NBST works by allowing state to be read, free of locks thanks to MVCC, streamed to the receiver, all the while allowing the sender to continue changing state.  What is key is that the sender also maintains a transaction log for this period.  Once the state is delivered to the recipient and applied, the transaction log is then also streamed across, until the transaction log reaches a predetermined, small size - or it is detected that the transaction log grows faster than it can be streamed.  In either of these cases, a lock is acquired on all processing, causing the sender to block all new transactions for a short period while the last of the transaction log is streamed and applied.  After this, both the sender and receiver release locks and start processing requests, the new joiner now at the same state as the sender.&lt;br /&gt;&lt;br /&gt;The main benefit of this approach is that the sender is not blocked for the majority of the time while generating and streaming state (made all the more apparent when there is a lot of state to send) and the cluster proceeds to operate.  Naturally, the implementation is a fair deal more complicated than what is described quite simplistically above, with a fair few more details and edge cases to be dealt with.  :-)&lt;br /&gt;&lt;br /&gt;NBST is disabled by default, but can be enabled by using a simple configuration switch (&lt;span style="font-family:courier new;"&gt;Configuration.setUseNonBlockingStateTransfer()&lt;/span&gt; or &lt;span style="font-family:courier new;"&gt;&amp;lt;stateretrieval nonblocking="true" /&amp;gt;&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;So do give it a whirl, feedback, as always, is appreciated.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-7635946094702843596?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/7635946094702843596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=7635946094702843596' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7635946094702843596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7635946094702843596'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/03/jboss-cache-310beta1.html' title='JBoss Cache 3.1.0.BETA1'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-3017961719337878334</id><published>2009-02-24T10:07:00.004Z</published><updated>2009-02-24T10:23:15.996Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GA'/><category scheme='http://www.blogger.com/atom/ns#' term='3.0.3'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><title type='text'>JBoss Cache 3.0.3.GA released</title><content type='html'>Based on the CR I released 2 weeks back, I have just released &lt;span style="font-weight: bold;"&gt;3.0.3.GA&lt;/span&gt;.  I recommend that everyone who is on JBoss Cache 2.x and 3.x move to this release, it is the fastest, most stable release to date.  This incremental release on 3.x contains the following bugfixes and feature requests:&lt;br /&gt;   &lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1470"&gt;JBCACHE-1470&lt;/a&gt; ]     Option to disable cache event generation for a cache operation.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;[ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1468"&gt;JBCACHE-1468&lt;/a&gt; ]     JBoss Cache ignores transactions with STATUS_MARKED_ROLLBACK and auto commits data changes    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1469"&gt;JBCACHE-1469&lt;/a&gt; ]     DummyBaseTransactionManager behaves incorrectly with Status.STATUS_MARKED_ROLLBACK    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1473"&gt;JBCACHE-1473&lt;/a&gt; ]     Memory leak: Cache Regions lose capacity, evictCommand.perform() causes dead entries in EvictionQueue    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1474"&gt;JBCACHE-1474&lt;/a&gt; ]     Removing nonexistent key in UnversionedNode causes data loss    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1477"&gt;JBCACHE-1477&lt;/a&gt; ]     Bug in JDBC cache loader SQL on Informix    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1478"&gt;JBCACHE-1478&lt;/a&gt; ]     Handle querying node count in an unstarted DataContainer    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1479"&gt;JBCACHE-1479&lt;/a&gt; ]     Loads nodes from cache loader too aggresively    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1480"&gt;JBCACHE-1480&lt;/a&gt; ]     getChildrenNames() returns deleted nodes    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1481"&gt;JBCACHE-1481&lt;/a&gt; ]     Re-adding a node deleted via parent inside transaction breaks the parent&lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1471"&gt;JBCACHE-1471&lt;/a&gt; ]     Slow cache.get for fqn with a large number of key/value entries.    &lt;/li&gt;&lt;/ul&gt;Thanks to Krzysztof Sobolewski, Roberto Tyley, Eduardo Martins, Galder Zamarreño and Alex Kluge for useful bug reports, tests and patches.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jboss.org/community/docs/DOC-12844"&gt;Downloads&lt;/a&gt; and &lt;a href="http://www.jboss.org/community/docs/DOC-12843"&gt;documentation&lt;/a&gt; are in the usual place, please use the &lt;a href="http://www.jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;user forums&lt;/a&gt; to discuss this release.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-3017961719337878334?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/3017961719337878334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=3017961719337878334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3017961719337878334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3017961719337878334'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/02/jboss-cache-303ga-released.html' title='JBoss Cache 3.0.3.GA released'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-7256029865275086420</id><published>2009-02-13T15:32:00.004Z</published><updated>2009-02-13T15:42:38.601Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='NBST'/><category scheme='http://www.blogger.com/atom/ns#' term='cascabel'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><title type='text'>What to expect in JBoss Cache</title><content type='html'>So we're about to cut &lt;span style="font-weight: bold;"&gt;JBoss Cache 3.1.0 "&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Cascabel&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;"&lt;/span&gt; - and the main feature here is the high-performance &lt;a href="http://www.jboss.org/community/docs/DOC-10275"&gt;non-blocking state transfer&lt;/a&gt; (NBST) scheme we've been planning for a while now, held back due to the lack of non-blocking reads in the past.  Thanks to &lt;a href="http://jbosscache.blogspot.com/2008/07/mvcc-has-landed.html"&gt;MVCC&lt;/a&gt;, we now have non-blocking reads, and thanks to &lt;a href="http://www.jboss.org/community/people/jason.greene%40jboss.com"&gt;Jason Greene&lt;/a&gt;, an impressive non-blocking state transfer implementation.  Expect a beta of Cascabel to be made available in the coming days/weeks, along with a detailed write-up of NBST.&lt;br /&gt;&lt;br /&gt;But in the meantime, I've just cut &lt;span style="font-weight: bold;"&gt;JBoss Cache 3.0.3.CR1&lt;/span&gt;.  This CR fixes &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12313259&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;a number of bugs&lt;/a&gt; - some critical - on Naga, and I strongly recommend anyone using Naga to download and test out 3.0.3.CR1.  I expect this to be a very short CR cycle so please test heavily and provide as much feedback as you can, I expect a 3.0.3.GA to be released very soon.&lt;br /&gt;&lt;br /&gt;You can download the CR in the usual place on SourceForge, or grab it from our Maven2 repository.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-7256029865275086420?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/7256029865275086420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=7256029865275086420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7256029865275086420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7256029865275086420'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/02/what-to-expect-in-jboss-cache.html' title='What to expect in JBoss Cache'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-9217789393368909156</id><published>2009-02-10T20:08:00.003Z</published><updated>2009-03-26T10:21:54.514Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='user stories'/><category scheme='http://www.blogger.com/atom/ns#' term='gaming'/><title type='text'>JBoss Cache in load testing</title><content type='html'>I'm always keen to know how the community uses JBoss Cache.  I was recently pointed to an excellent article by Frederik Johansson who uses JBoss Cache to build a load test harness to simulate tens of thousands of players in high capacity multiplayer online gaming systems.&lt;br /&gt;&lt;br /&gt;Check out his wonderfully detailed yet accessible article &lt;a href="http://www.cubeia.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=28&amp;amp;Itemid=9"&gt;on his blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If anyone else has success stories they would like to share, I'd love to hear them.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-9217789393368909156?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/9217789393368909156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=9217789393368909156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/9217789393368909156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/9217789393368909156'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/02/jboss-cache-in-load-testing.html' title='JBoss Cache in load testing'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-3603661594593772612</id><published>2009-01-26T11:06:00.003Z</published><updated>2009-01-26T11:08:30.447Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cayenne'/><title type='text'>New maintenance release on 1.4.1</title><content type='html'>I've just released 1.4.1.SP12, a patch release on "&lt;span style="font-style: italic;"&gt;Cayenne&lt;/span&gt;", which is in maintenance mode.&lt;br /&gt;&lt;br /&gt;This contains just one fix over SP11 - &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1304"&gt;JBCACHE-1304&lt;/a&gt; - a backport from 2.x, thanks to Brian Dueck who contributed the patch.&lt;br /&gt;&lt;br /&gt;Downloads, etc. are all in their usual places.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-3603661594593772612?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/3603661594593772612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=3603661594593772612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3603661594593772612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3603661594593772612'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/01/new-maintenance-release-on-141.html' title='New maintenance release on 1.4.1'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-4329623852491915910</id><published>2009-01-20T16:18:00.002Z</published><updated>2009-01-20T16:33:54.918Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GA'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><title type='text'>3.0.2.GA ready for download</title><content type='html'>I've just cut &lt;span style="font-weight: bold;"&gt;3.0.2.GA&lt;/span&gt;.  Thanks to everyone for all the feedback on the CRs.  This is an important micro release, addressing a number of bugs in 3.0.1.GA.  For a full list, please visit &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12313070&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;JIRA for the release notes&lt;/a&gt;.  In addition to bug fixes, this release comes with some performance (JDBC cache loader) and stability (TcpDelegatingCacheLoader) improvements, and a tighter overall memory footprint.&lt;br /&gt;&lt;br /&gt;Thanks to several contributors, including Elias Ross, Jimmy Wilson, Galder Zamarreño, J. Baxter, Brian Stansberry and Krzysztof Sobolewski for submitting patches.  Keep 'em coming!&lt;br /&gt;&lt;br /&gt;Also, useful to note, the parallel test suite is finally in place as of this release.  This cuts down our unit test time, running 3500+ tests takes under 10 minutes now.  This is down from the 2+ hours it used to take.  Thanks to Mircea Markus and Dominik Pospisil for getting this working; I know what a PITA it is debugging threading issues involving Maven Surefure and TestNG.  :-)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jboss.org/community/docs/DOC-12844"&gt;Download 3.0.2.GA here&lt;/a&gt; (or our &lt;a href="http://repository.jboss.org/maven2/org/jboss/cache/jbosscache-core"&gt;Maven2 repo&lt;/a&gt;), &lt;a href="http://www.jboss.org/community/docs/DOC-12843"&gt;docs&lt;/a&gt; and the rest are all in their usual places.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-4329623852491915910?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/4329623852491915910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=4329623852491915910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/4329623852491915910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/4329623852491915910'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/01/302ga-ready-for-download.html' title='3.0.2.GA ready for download'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-3916757981798737231</id><published>2009-01-12T14:32:00.002Z</published><updated>2009-01-12T14:36:15.785Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='CR'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>JBoss Cache 3.0.2.CR2 is out</title><content type='html'>I've just released &lt;span style="font-weight: bold;"&gt;3.0.2.CR2&lt;/span&gt;, possibly the final CR before I cut &lt;span style="font-weight: bold;"&gt;3.0.2.GA&lt;/span&gt;.  3.0.2.GA will contain a handful of bugfixes on 3.0.1, including:&lt;br /&gt;           &lt;ul&gt;&lt;li&gt;[ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1447"&gt;JBCACHE-1447&lt;/a&gt; ]     JDBM cache loader remove of the root childeren doesn't clear the data    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1450"&gt;JBCACHE-1450&lt;/a&gt; ]     putForExternalRead() doesn't use a 0 lock acquisition timeout with MVCC    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1452"&gt;JBCACHE-1452&lt;/a&gt; ]     JDBCCacheLoader Doesn't Work With Sybase    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1454"&gt;JBCACHE-1454&lt;/a&gt; ]     Memory leak in CacheStoreInterceptor    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1455"&gt;JBCACHE-1455&lt;/a&gt; ]     Rollback corrupts nodes loaded from cache loader    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1456"&gt;JBCACHE-1456&lt;/a&gt; ]     The root node starts with "children loaded" flag    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1457"&gt;JBCACHE-1457&lt;/a&gt; ]     TcpCacheServer: Listening thread should attempt recovery    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1459"&gt;JBCACHE-1459&lt;/a&gt; ]     FastCopyHashMaps misbehave when serialized and then deserialized    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1460"&gt;JBCACHE-1460&lt;/a&gt; ]     Inefficient remove() in JDBCCacheLoader    &lt;/li&gt;&lt;/ul&gt;Please download this, give it a try and provide as much feedback as possible.  Downloads are in the &lt;a href="http://www.jboss.org/community/docs/DOC-12844"&gt;usual place&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-3916757981798737231?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/3916757981798737231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=3916757981798737231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3916757981798737231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3916757981798737231'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/01/jboss-cache-302cr2-is-out.html' title='JBoss Cache 3.0.2.CR2 is out'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-5722018207341054846</id><published>2009-01-04T22:33:00.004Z</published><updated>2009-01-05T12:03:30.989Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='searchable'/><category scheme='http://www.blogger.com/atom/ns#' term='GA'/><category scheme='http://www.blogger.com/atom/ns#' term='jbcs'/><category scheme='http://www.blogger.com/atom/ns#' term='searchable cache'/><title type='text'>A New Year's present from JBCS</title><content type='html'>Hey guys,&lt;br /&gt;&lt;br /&gt;Been quite a while since my last blog but here's an important one. If you thought that you couldn't get enough presents from Santa or you're loving the January sales, well it's getting better now. JBoss Cache Searchable has just got its first GA.&lt;br /&gt;&lt;br /&gt;I just want to specify now that you have to pass in your class array when creating your searchable cache. Otherwise it breaks due to changes made in Hibernate Search 3.1.0.Beta and GA.&lt;br /&gt;&lt;br /&gt;Apart from that, nothing different externally - go out and download it from &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=22866&amp;amp;package_id=102339"&gt;sourceforge&lt;/a&gt; and tell us all about it on the &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=286"&gt;forums&lt;/a&gt;. If you need to, have a look at the &lt;a href="http://www.jboss.org/community/docs/DOC-10286"&gt;wiki&lt;/a&gt; or the &lt;a href="http://www.jboss.org/community/docs/DOC-12843"&gt;API&lt;/a&gt; documentation.&lt;br /&gt;&lt;br /&gt;I know that several people are keen to know about a searchable-pojo cache. A quick update is that I'm working on that and should have a release out soon. I will keep you posted, so watch this space.&lt;br /&gt;&lt;br /&gt;Thanks and happy new year!&lt;br /&gt;Navin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-5722018207341054846?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/5722018207341054846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=5722018207341054846' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5722018207341054846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5722018207341054846'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2009/01/new-years-present-from-jbcs.html' title='A New Year&apos;s present from JBCS'/><author><name>Navin Surtani</name><uri>http://www.blogger.com/profile/17311355002987819058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://3.bp.blogspot.com/_05j3aXuVKa4/Srtp7evgApI/AAAAAAAAALA/8djYaPXkANc/S220/profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-244513890867912870</id><published>2008-12-19T16:04:00.003Z</published><updated>2008-12-19T17:30:01.140Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GA'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><title type='text'>Another micro release on 3.x</title><content type='html'>I've just released 3.0.2.CR1, and hopefully if nothing else crops up, 3.0.2.GA before the end of the year.&lt;br /&gt;&lt;br /&gt;This release fixes 4 bugs, reported on 3.0.1.GA released a short while ago.  Details of the bugs are &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12313069&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Please &lt;a href="http://www.jboss.org/community/docs/DOC-12844"&gt;download&lt;/a&gt; and try out this CR, and provide adequate feedback on the &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;user forums&lt;/a&gt; prior to my releasing a GA.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-244513890867912870?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/244513890867912870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=244513890867912870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/244513890867912870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/244513890867912870'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/12/another-micro-release-on-3x.html' title='Another micro release on 3.x'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-3405018856515041531</id><published>2008-11-28T13:15:00.003Z</published><updated>2008-11-28T13:24:55.030Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GA'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><title type='text'>New micro release on JBoss Cache Naga</title><content type='html'>We've just released JBoss Cache 3.0.1.GA.  This contains a few bug fixes and performance enhancements over 3.0.0, and is particularly relevant to you if you use asynchronous replication&lt;span style="font-style: italic;"&gt; together with &lt;/span&gt;buddy replication&lt;span style="font-style: italic;"&gt;.  &lt;/span&gt;It is also relevant if you use passivation, or JMX reporting on Websphere or WebLogic.&lt;br /&gt;&lt;br /&gt;For a list of the JIRAs fixed in this release, please click &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12313000&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This release can be downloaded &lt;a href="http://www.jboss.org/community/docs/DOC-12844"&gt;here&lt;/a&gt;, documentation &lt;a href="http://www.jboss.org/community/docs/DOC-12843"&gt;here&lt;/a&gt;, please discuss this release on &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=main&amp;amp;c=29"&gt;the user forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Thanks to Dominik Pospisil and Brian Stansberry for helping with this.&lt;br /&gt;&lt;br /&gt;Cheers &amp;amp; Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-3405018856515041531?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/3405018856515041531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=3405018856515041531' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3405018856515041531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3405018856515041531'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/11/new-micro-release-on-jboss-cache-naga.html' title='New micro release on JBoss Cache Naga'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-5807698779587808353</id><published>2008-11-19T21:14:00.002Z</published><updated>2008-11-19T21:19:42.858Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GA'/><category scheme='http://www.blogger.com/atom/ns#' term='3.0.0'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><title type='text'>JBoss Cache 3.0.0 goes GA</title><content type='html'>This much awaited release is finally in GA, in both &lt;span style="font-style: italic;"&gt;core&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;POJO&lt;/span&gt; editions. &lt;br /&gt;&lt;br /&gt;Downloads are &lt;a href="http://www.jboss.org/community/docs/DOC-12844"&gt;here&lt;/a&gt;, online documentation is &lt;a href="http://www.jboss.org/community/docs/DOC-12843"&gt;here&lt;/a&gt;, the extensive JIRA changelog is &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12310097&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;here for core&lt;/a&gt; and &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12311709&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=12310470&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;here for POJO&lt;/a&gt;, and finally the user forums are &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=main&amp;amp;c=29"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;There are a lot of folk to thank for this release, in no particular order, Mircea Markus, Jason Greene, Dominik Pospisil, Brian Stansberry and Elias Ross.&lt;br /&gt;&lt;br /&gt;Have fun!&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-5807698779587808353?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/5807698779587808353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=5807698779587808353' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5807698779587808353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5807698779587808353'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/11/jboss-cache-300-goes-ga.html' title='JBoss Cache 3.0.0 goes GA'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-6761246461519949689</id><published>2008-11-03T18:06:00.001Z</published><updated>2008-11-03T18:08:04.410Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='CR'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><title type='text'>Yet another CR</title><content type='html'>Yes, I know I promised 3.0.0.CR2 would be the last CR before going GA, but ...&lt;br /&gt;&lt;br /&gt;I've just cut 3.0.0.CR3 with some minor fixes.  Please check it out, test it as much as you can internally, and watch this space for a GA in the coming weeks.  Everything is in their usual place.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-6761246461519949689?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/6761246461519949689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=6761246461519949689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/6761246461519949689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/6761246461519949689'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/11/yet-another-cr.html' title='Yet another CR'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-411084952812269282</id><published>2008-10-23T18:44:00.016+01:00</published><updated>2008-10-24T02:10:07.681+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='replicated'/><category scheme='http://www.blogger.com/atom/ns#' term='CR'/><category scheme='http://www.blogger.com/atom/ns#' term='ehcache'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><category scheme='http://www.blogger.com/atom/ns#' term='benchmark'/><title type='text'>Final CR for Naga - with more benchmarks</title><content type='html'>So I've decided to cut another CR on 3.0.0.  I wasn't originally planning on it and this would have gone gold save for the fact that a few important JIRAs did get in, which have pretty significant impact on performance (going northwards, of course - &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1419"&gt;JBCACHE-1419&lt;/a&gt; is notable, which contributed to a huge performance boost on async replication).&lt;br /&gt;&lt;br /&gt;Anyway, to cut a long story short, download this final CR &lt;a href="http://www.jboss.org/community/docs/DOC-12844"&gt;here&lt;/a&gt;, provide feedback &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;here&lt;/a&gt;.  Changelog is in &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312862&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;JIRA&lt;/a&gt;, and all-new documentation &lt;a href="http://www.jboss.org/community/docs/DOC-12843"&gt;is also available&lt;/a&gt; at last.  If all goes well, I hope to cut a GA towards the end of next week, so I would appreciate as much feedback as possible - both on the release, as well as the documentation, tutorials, sample configs, etc.&lt;br /&gt;&lt;br /&gt;And now for the fun stuff - I've finally found the time to put together some replicated benchmarks, to go with &lt;a href="http://jbosscache.blogspot.com/2008/09/naga-beta1-ready-to-rock-and-roll.html"&gt;the standalone benchmarks&lt;/a&gt; I published a while back.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Kit used&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The benchmarks were run on Red Hat's lab cluster of 8 servers, connected via gigabit ethernet.&lt;ul&gt;&lt;li&gt;Quad-CPU Intel Xeon 3GHz servers with 4GB of RAM each&lt;/li&gt;&lt;li&gt;RHEL 4 x86_64 with kernel version 2.6.9-42.0.10.ELsmp&lt;/li&gt;&lt;li&gt;SUN JDK 1.5.0_11-b03 (32-bit)&lt;/li&gt;&lt;li&gt;Benchmarks generated using the &lt;a href="http://www.jboss.org/community/docs/DOC-9241"&gt;CacheBenchFramework&lt;/a&gt;&lt;/li&gt;&lt;li&gt;A single thread on each server instance, reading 90% of the time and writing 10% of the time&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-style: italic;"&gt;NB: You can click on the images to download full-sized versions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Benchmark 1: Comparing 2.2.0 "Poblano" and 3.0.0 "Naga" (synchronous replication)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This benchmark compares 2.2.0.GA with 3.0.0.CR2, using synchronous replication and pessimistic locking (Poblano) and MVCC (Naga).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ca0W9t-Ryos/SQEbkNrICKI/AAAAAAAAACk/NN-WnKZzzxI/s1600-h/1-chart-averageThroughput.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_ca0W9t-Ryos/SQEbkNrICKI/AAAAAAAAACk/NN-WnKZzzxI/s400/1-chart-averageThroughput.png" alt="" id="BLOGGER_PHOTO_ID_5260516148705233058" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ca0W9t-Ryos/SQEbkN9yiuI/AAAAAAAAACs/2krGm0HWg_s/s1600-h/1-chart-totalThroughput.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_ca0W9t-Ryos/SQEbkN9yiuI/AAAAAAAAACs/2krGm0HWg_s/s400/1-chart-totalThroughput.png" alt="" id="BLOGGER_PHOTO_ID_5260516148783516386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The performance gain is between 10 and 20% for synchronous replication, and a pretty consistent 20% when using buddy replication. A large part of this is MVCC locking, but also other improvements in the code base play a part, including more efficient marshalling.&lt;br /&gt;&lt;br /&gt;The total aggregate throughput chart shows that buddy replication (still) scales almost linearly. Increasing cluster size directly benefits the overall throughput the entire cluster can handle.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Benchmark 2: Comparing 2.2.0 "Poblano" and 3.0.0 "Naga" (asynchronous replication)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This had to be a separate benchmark from the synchronous one since the throughput is so much higher than sync replication it made a combined charts unreadable!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ca0W9t-Ryos/SQEbkl8eTnI/AAAAAAAAAC0/1WRAthwkvK8/s1600-h/2-chart-averageThroughput.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_ca0W9t-Ryos/SQEbkl8eTnI/AAAAAAAAAC0/1WRAthwkvK8/s400/2-chart-averageThroughput.png" alt="" id="BLOGGER_PHOTO_ID_5260516155220446834" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ca0W9t-Ryos/SQEbkyHaXyI/AAAAAAAAAC8/gpDI8FW3aXg/s1600-h/2-chart-totalThroughput.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_ca0W9t-Ryos/SQEbkyHaXyI/AAAAAAAAAC8/gpDI8FW3aXg/s400/2-chart-totalThroughput.png" alt="" id="BLOGGER_PHOTO_ID_5260516158487551778" border="0" /&gt;&lt;/a&gt;&lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1419"&gt;JBCACHE-1419&lt;/a&gt; is the main contributor to the phenomenal performance gains in async replication in Naga&lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1419"&gt;&lt;/a&gt;.  For folks who use JBoss Cache with async replication, I &lt;span style="font-weight: bold; font-style: italic;"&gt;strongly&lt;/span&gt; encourage you to give Naga a try!  :-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Benchmark 3: Competitive analysis&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;This is something a lot of people have been asking me for.  For this benchmark, I've pitted &lt;span style="font-weight: bold;"&gt;JBoss Cache 3.0.0.CR2&lt;/span&gt; against &lt;span style="font-weight: bold;"&gt;EHCache 1.5.0&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;Terracotta 2.5.0&lt;/span&gt; and a popular commercial, closed-source distributed cache which will have to remain unnamed.  I've called this &lt;span style="font-weight: bold;"&gt;Cache X&lt;/span&gt; in my charts.&lt;/span&gt;&lt;span&gt;  I've used synchronous replication throughout since this is all that Cache X supported.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ca0W9t-Ryos/SQEblLX3-NI/AAAAAAAAADE/EvbY5UExGdI/s1600-h/3-chart-averageThroughput.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_ca0W9t-Ryos/SQEblLX3-NI/AAAAAAAAADE/EvbY5UExGdI/s400/3-chart-averageThroughput.png" alt="" id="BLOGGER_PHOTO_ID_5260516165267486930" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ca0W9t-Ryos/SQEdJeJa8GI/AAAAAAAAADM/u0wJMRDX9Vg/s1600-h/3-chart-totalThroughput.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_ca0W9t-Ryos/SQEdJeJa8GI/AAAAAAAAADM/u0wJMRDX9Vg/s400/3-chart-totalThroughput.png" alt="" id="BLOGGER_PHOTO_ID_5260517888294056034" border="0" /&gt;&lt;/a&gt;B&lt;span&gt;oth EHCache and Cache X slightly outperforms Naga on a 2-node cluster (not so slightly with EHCache), but these quickly fall behind as the cluster size increases, particularly in the case of EHCache.  This is also reflected in the overall throughput chart.  Buddy replication still shows linear scalability.&lt;br /&gt;&lt;br /&gt;All of these benchmarks are reproducible using the cache benchmark framework, but as with all benchmarks, these should be used as a guideline only.  Real performance can only be measured in your environment, with your specific use case and data access patterns.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Manik&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-411084952812269282?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/411084952812269282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=411084952812269282' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/411084952812269282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/411084952812269282'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/10/final-cr-for-naga-with-more-benchmarks.html' title='Final CR for Naga - with more benchmarks'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ca0W9t-Ryos/SQEbkNrICKI/AAAAAAAAACk/NN-WnKZzzxI/s72-c/1-chart-averageThroughput.png' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-3702748785965572307</id><published>2008-10-22T10:35:00.004+01:00</published><updated>2008-10-22T10:41:56.062+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poblano'/><category scheme='http://www.blogger.com/atom/ns#' term='GA'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>Another day, another GA.</title><content type='html'>2.2.1.GA is out, folks.  This micro release adds some serialization/replication (&lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1382"&gt;JBCACHE-1382&lt;/a&gt;) and JDBCCacheLoader (&lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1414"&gt;JBCACHE-1414&lt;/a&gt;) performance improvements, and fixes a &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312804&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;bunch of bugs&lt;/a&gt; reported against 2.2.0.GA.&lt;br /&gt;&lt;br /&gt;Enjoy, everything (&lt;a href="http://www.jboss.org/community/docs/DOC-12844"&gt;downloads&lt;/a&gt;, &lt;a href="http://www.jboss.org/community/docs/DOC-12843"&gt;docs&lt;/a&gt;, &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;forums&lt;/a&gt;, &lt;a href="https://jira.jboss.org/jira/browse/JBCACHE"&gt;JIRA&lt;/a&gt;) is in their usual place.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;br /&gt;&lt;br /&gt;&lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312804&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt; &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-3702748785965572307?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/3702748785965572307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=3702748785965572307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3702748785965572307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3702748785965572307'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/10/anotehr-day-another-ga.html' title='Another day, another GA.'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-6968134667864824395</id><published>2008-10-15T10:15:00.004+01:00</published><updated>2008-10-15T10:21:42.959+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poblano'/><category scheme='http://www.blogger.com/atom/ns#' term='CR'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>2.2.1.CR2 is out</title><content type='html'>The 2nd and hopefully last CR on 2.2.1 has just been released.  It is on the &lt;a href="http://repository.jboss.org/maven2/org/jboss/cache/jbosscache-core/2.2.0.CR2/"&gt;JBoss Maven2 repository&lt;/a&gt; and &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=22866&amp;amp;package_id=102339&amp;amp;release_id=633366"&gt;SourceForge&lt;/a&gt;, as usual.  Specifically, &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312830&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;these JIRAs&lt;/a&gt; have been addressed between CR1 and CR2.&lt;br /&gt;&lt;br /&gt;In the meanwhile, I am just about to fly off to Krakow, Poland, to attend the &lt;a href="http://08.jdd.org.pl/"&gt;Java Developer Day&lt;/a&gt; conference, where I will be presenting &lt;a href="http://08.jdd.org.pl/manik-surtani"&gt;on distributed caching&lt;/a&gt;.  If any of you will be around, looking forward to seeing you there!&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-6968134667864824395?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/6968134667864824395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=6968134667864824395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/6968134667864824395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/6968134667864824395'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/10/221cr2-is-out.html' title='2.2.1.CR2 is out'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-8175810652377401706</id><published>2008-10-03T09:50:00.003+01:00</published><updated>2008-10-03T10:34:57.904+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poblano'/><category scheme='http://www.blogger.com/atom/ns#' term='CR'/><category scheme='http://www.blogger.com/atom/ns#' term='2.2.1'/><title type='text'>Minor release in Poblano - 2.2.1.CR1</title><content type='html'>I've just cut 2.2.1.CR1, an evolution of 2.2.0.GA containing a few fixes around transactions and marshalling, and performance improvements in the JDBCCacheLoader.  See this &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312803&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;changelog&lt;/a&gt; for details.&lt;br /&gt;&lt;br /&gt;Downloads, etc. all in their usual places, enjoy!&lt;br /&gt;&lt;br /&gt;- Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-8175810652377401706?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/8175810652377401706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=8175810652377401706' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/8175810652377401706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/8175810652377401706'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/10/minor-release-in-poblano-221cr1.html' title='Minor release in Poblano - 2.2.1.CR1'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-2537978772191732319</id><published>2008-09-29T08:50:00.000+01:00</published><updated>2008-09-29T08:56:45.479+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CR'/><category scheme='http://www.blogger.com/atom/ns#' term='3.0.0'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><title type='text'>First CR for 3.0.0</title><content type='html'>Late Friday I cut the first CR for Naga - &lt;span style="font-weight: bold;"&gt;3.0.0.CR1&lt;/span&gt; is now in our &lt;a href="http://repository.jboss.org/maven2/org/jboss/cache/jbosscache-core/3.0.0.CR1/"&gt;Maven2 repo&lt;/a&gt; and on &lt;a href="http://www.jboss.org/jbosscache/download/index.html"&gt;jboss.org&lt;/a&gt; for you to download.&lt;br /&gt;&lt;br /&gt;There are a host of new features, fixed bugs and performance tweaks in CR1 - check out &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312753&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;the release notes on JIRA&lt;/a&gt; for the details.&lt;br /&gt;&lt;br /&gt;Finally, I would like to add that this is not strictly a CR in that I can't release this as a GA.  The documentation - FAQs, user guide and tutorial - still needs to be brought up to date with all the new features in Naga, but apart from that, the code is ready for the prime time.  Pending feedback, bug reports, and the like, of course.&lt;br /&gt;&lt;br /&gt;So, please treat this release as something close to prodution quality and feed back as much as you can on the &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;user forums&lt;/a&gt; - this is really important to us.  What I am particularly interested to hear are, in addition to comments on new features:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Performance under load&lt;/li&gt;&lt;li&gt;Performance in large clusters&lt;/li&gt;&lt;li&gt;Backward compatibility against code written for JBC 2.x&lt;/li&gt;&lt;/ul&gt;I look forward to hearing from you!&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-2537978772191732319?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/2537978772191732319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=2537978772191732319' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2537978772191732319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2537978772191732319'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/09/first-cr-for-300.html' title='First CR for 3.0.0'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-4460435843266452876</id><published>2008-09-25T18:45:00.010+01:00</published><updated>2008-09-26T16:06:16.739+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='searchable'/><category scheme='http://www.blogger.com/atom/ns#' term='lucene'/><category scheme='http://www.blogger.com/atom/ns#' term='searchable cache'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='cache'/><category scheme='http://www.blogger.com/atom/ns#' term='hibernate search'/><title type='text'>JBCS 1.0.0 CR1 powered up</title><content type='html'>Hello hello all, I come out of the darkness for the first time in a couple of weeks: -&lt;br /&gt;&lt;br /&gt;As the title suggests, the first release candidate for JBoss Cache Searchable is up and running - download &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=22866&amp;amp;package_id=102339"&gt;here&lt;/a&gt;. Some of you who are more inquisitive might be wondering what's actually changed from Beta 1.&lt;br /&gt;&lt;br /&gt;Here's what's new. The 2 iterator methods on CacheQuery - iterator() and lazyIterator() - both can be called with integer parameters. Your fetchSize - your object buffer. This doesn't mean that the method calls with no parameters won't work, that just delegates to the method with parameters and gives a default parameter of 1. If you're more interested and want to dig deeper, have a look on &lt;a href="http://fisheye.jboss.org/browse/JBossCache/searchable"&gt;fisheye&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As usual, have a play around and if there are any problems, you can find me on the &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=286"&gt;forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;On the horizon, I'm looking at releasing a version of the searchable-cache that depends on JBoss Cache 3.0.0. Personally, I'm quite excited to see how searchable-cache performance will change when it's depending on 3.0.0. I will keep you updated :).&lt;br /&gt;&lt;br /&gt;Thanks for listening,&lt;br /&gt;Navin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-4460435843266452876?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/4460435843266452876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=4460435843266452876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/4460435843266452876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/4460435843266452876'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/09/jbcs-100-cr1-powered-up.html' title='JBCS 1.0.0 CR1 powered up'/><author><name>Navin Surtani</name><uri>http://www.blogger.com/profile/17311355002987819058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://3.bp.blogspot.com/_05j3aXuVKa4/Srtp7evgApI/AAAAAAAAALA/8djYaPXkANc/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-8266910816168118334</id><published>2008-09-18T18:31:00.003+01:00</published><updated>2008-09-18T18:33:40.818+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='caching'/><category scheme='http://www.blogger.com/atom/ns#' term='amdahl&apos;s law'/><category scheme='http://www.blogger.com/atom/ns#' term='parallelism'/><category scheme='http://www.blogger.com/atom/ns#' term='scalability'/><category scheme='http://www.blogger.com/atom/ns#' term='moore&apos;s law'/><title type='text'>Caching, parallelism and scalability</title><content type='html'>DZone have just published an article by yours truly on Caching, Parallelism and Scalability.  Check it out!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.dzone.com/articles/caching-parallelism-scalability"&gt;http://java.dzone.com/articles/caching-parallelism-scalability&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-8266910816168118334?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/8266910816168118334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=8266910816168118334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/8266910816168118334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/8266910816168118334'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/09/caching-parallelism-and-scalability.html' title='Caching, parallelism and scalability'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-1935966412136942989</id><published>2008-09-03T15:00:00.001+01:00</published><updated>2008-09-03T15:00:01.845+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='compatibility'/><category scheme='http://www.blogger.com/atom/ns#' term='configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='beta'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><category scheme='http://www.blogger.com/atom/ns#' term='benchmark'/><title type='text'>Naga Beta1 - ready to rock and roll!</title><content type='html'>I've got a number of treats for you guys today.&lt;br /&gt;&lt;br /&gt;Firstly, I've just released 3.0.0 BETA1.  The public API is finally stable and all major features are in.  A few minor bugs and performance tweaks (and documentation) pending, this is pretty much what &lt;span style="font-style: italic;"&gt;Naga&lt;/span&gt; will look like.  Expect it to rock your world!  ;)&lt;br /&gt;&lt;br /&gt;Second, after much discussion with the community, I have decided to make &lt;span style="font-style: italic;"&gt;Naga&lt;/span&gt; API compatible with 2.x releases (&lt;span style="font-style: italic;"&gt;Poblano&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;Alegrias&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Habanero&lt;/span&gt;).  This means a somewhat more cluttered API and a pile of old, deprecated methods, but at least it means you can just drop in a &lt;span style="font-style: italic;"&gt;Naga&lt;/span&gt; jar into an app compiled against 2.x and expect things to work.  You could then update your code to use more "current" APIs at your leisure.  Keep in mind though that &lt;span style="font-style: italic;"&gt;Naga&lt;/span&gt; runs with &lt;span style="font-family:courier new;"&gt;MVCC&lt;/span&gt; by default.  If you wish to use &lt;span style="font-family:courier new;"&gt;PESSIMISTIC&lt;/span&gt; locking (the previous default) please make sure you specify this explicitly in your config file.&lt;br /&gt;&lt;br /&gt;Finally, at long last, I have pretty pictures for people.  Benchmarks comparing 3.0.0.BETA1 against 2.2.0.GA (released just last weekend), and 2.1.1.GA.  And, for kicks, against the latest EHCache release as well.  So far I just have the standalone benchmarks.  Expect replicated benchmarks coming your way very soon.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The release&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, lets get started.  &lt;a href="http://labs.jboss.org/jbosscache/download/index.html"&gt;Download the release&lt;/a&gt; in the usual place, feedback &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;on the forums&lt;/a&gt; please.  The more feedback the better, it helps us make JBoss Cache a better product.  The changelog is in &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312654&amp;amp;versions=12312641&amp;amp;versions=12312543&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;JIRA&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Notable features include:&lt;ul&gt;&lt;li&gt;a new batching API (&lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-991"&gt;JBCACHE-991&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;the ability to persist transient state upon startup when &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;fetchPersistentState&lt;/span&gt;&lt;/span&gt; is false (&lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-131"&gt;JBCACHE-131&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;redesigned eviction, where you can now provide not just policies on how to select nodes for eviction, but also how that eviction behaviour is manifested (&lt;a href="https://jira.jboss.org/jira/browse/JBCACHE-1398"&gt;JBCACHE-1398&lt;/a&gt;).  In plain English, this means you can now set the cache up such that nodes are completely removed upon eviction.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Benchmarks, part 1 : Standalone (LOCAL mode) benchmarks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As for benchmarks, these were generated using the Cache Benchmark Framework that I wrote.  I actually encourage people to &lt;a href="https://svn.jboss.org/repos/jbosscache/benchmarks/benchmark-fwk/trunk/"&gt;download the framework&lt;/a&gt; and perform these benchmarks on their servers as well to help validate my numbers.  The benchmarks were performed on the JBoss clustering lab, with the following configuration:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Server running RHEL 4 and Sun JDK 1.5.0_11 with default settings&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Max heap size of 2GB&lt;/li&gt;&lt;li&gt;4 Xeon CPUs with 4GB of RAM&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;These benchmarks were measured using simple puts and gets on random keys and values, with &lt;span style="font-weight: bold;"&gt;20% write&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;80% read&lt;/span&gt;, using &lt;span style="font-weight: bold;"&gt;25 concurrent threads&lt;/span&gt;. The test was performed over a sample size of &lt;span style="font-weight: bold;"&gt;10 million &lt;/span&gt;operations.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ca0W9t-Ryos/SL1JuZ2M7zI/AAAAAAAAABk/ud1SXXLiTMc/s1600-h/LocalMode-java5-GetChart.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 623px; height: 623px;" src="http://1.bp.blogspot.com/_ca0W9t-Ryos/SL1JuZ2M7zI/AAAAAAAAABk/ud1SXXLiTMc/s400/LocalMode-java5-GetChart.png" alt="" id="BLOGGER_PHOTO_ID_5241426602890161970" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Read (GET) performance&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;(smaller is better)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ca0W9t-Ryos/SL1Kb99kX3I/AAAAAAAAABs/wc0xO_Hrs5A/s1600-h/LocalMode-java5-PutChart.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 624px; height: 624px;" src="http://3.bp.blogspot.com/_ca0W9t-Ryos/SL1Kb99kX3I/AAAAAAAAABs/wc0xO_Hrs5A/s400/LocalMode-java5-PutChart.png" alt="" id="BLOGGER_PHOTO_ID_5241427385678847858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Write (PUT) performance&lt;/span&gt; &lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;(smaller is better)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;As you can see, JBoss Cache is still a &lt;span style="font-style: italic;"&gt;very&lt;/span&gt; viable standalone in-memory cache, which is highly concurrent.  With &lt;span style="font-style: italic;"&gt;Naga&lt;/span&gt;, this is even more so, given the huge performance gains realised thanks to our &lt;a href="http://jbosscache.blogspot.com/2008/07/mvcc-has-landed.html"&gt;MVCC implementation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Expect to see replicated benchmarks here very soon.  In the meanwhile, enjoy &lt;span style="font-style: italic;"&gt;Naga&lt;/span&gt;'s first beta and let us know what you think!&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-1935966412136942989?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/1935966412136942989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=1935966412136942989' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1935966412136942989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1935966412136942989'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/09/naga-beta1-ready-to-rock-and-roll.html' title='Naga Beta1 - ready to rock and roll!'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ca0W9t-Ryos/SL1JuZ2M7zI/AAAAAAAAABk/ud1SXXLiTMc/s72-c/LocalMode-java5-GetChart.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-428476929473682512</id><published>2008-09-03T05:19:00.002+01:00</published><updated>2008-09-03T05:22:23.299+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='greasemonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='editor'/><title type='text'>Making Blogger easier to use</title><content type='html'>For those of you who are annoyed by Blogger's tiny edit window, check out &lt;a href="http://fatknowledge.blogspot.com/2007/01/large-post-editor-for-betanew-blogger.html"&gt;this excellent script&lt;/a&gt; that provides a full sized edit pane.  It needs &lt;a href="http://www.mozilla-europe.org/en/firefox/"&gt;Firefox&lt;/a&gt; and the &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/748"&gt;Greasemonkey&lt;/a&gt; plugin, and works like a charm.  Finally - a full-sized editor pane!  :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-428476929473682512?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/428476929473682512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=428476929473682512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/428476929473682512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/428476929473682512'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/09/making-blogger-easier-to-use.html' title='Making Blogger easier to use'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-2413527331622198385</id><published>2008-09-02T12:17:00.004+01:00</published><updated>2008-09-02T13:19:37.953+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poblano'/><category scheme='http://www.blogger.com/atom/ns#' term='Demo'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>New GUI demo</title><content type='html'>I've just released a new GUI demo for the core cache, based on the recently released Poblano (2.2.0.GA).&lt;br /&gt;&lt;br /&gt;This is version 1.1.GA for the GUI demo, check it out &lt;a href="https://sourceforge.net/project/showfiles.php?group_id=22866&amp;amp;package_id=102339&amp;amp;release_id=623626"&gt;here&lt;/a&gt;.  Please report all feedback on the demo on the &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=278"&gt;forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-2413527331622198385?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/2413527331622198385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=2413527331622198385' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2413527331622198385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2413527331622198385'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/09/new-gui-demo.html' title='New GUI demo'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-822038603310782790</id><published>2008-08-30T03:34:00.004+01:00</published><updated>2008-09-02T13:19:09.979+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poblano'/><category scheme='http://www.blogger.com/atom/ns#' term='final'/><category scheme='http://www.blogger.com/atom/ns#' term='GA'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>Poblano goes GA</title><content type='html'>After a pretty long gestation period and no less than 7 CR releases, JBoss Cache 2.2.0 &lt;span style="font-style: italic;"&gt;"Poblano"&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;is finally in GA.&lt;br /&gt;&lt;br /&gt;2.2.0 is the recommended release for all 2.x users, as it contains a number of internal enhancements and performance improvements (particularly in replication).&lt;br /&gt;&lt;br /&gt;It also contains a number of important bug fixes, and a few new features including an Amazon S3 cache loader implementation contributed by Elias Ross.&lt;br /&gt;&lt;br /&gt;See &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12311704&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;JIRA&lt;/a&gt; for the complete release note report.&lt;br /&gt;&lt;br /&gt;Downloads, forums, wikis are all in their usual places.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-822038603310782790?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/822038603310782790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=822038603310782790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/822038603310782790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/822038603310782790'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/08/poblano-goes-ga.html' title='Poblano goes GA'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-9060911312875405279</id><published>2008-08-21T06:53:00.008+01:00</published><updated>2008-08-25T09:56:24.940+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='searchable'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='beta'/><category scheme='http://www.blogger.com/atom/ns#' term='hibernate search'/><title type='text'>JBCS Beta 1 released!</title><content type='html'>Some of you who may have read this blog a few weeks ago might have been excited to hear about JBoss Cache Searchable. For those of you who don't know about it - it provides a query interface on JBoss Cache. That is to say, you can now search the cache!&lt;br /&gt;&lt;br /&gt;Why is this so cool?&lt;br /&gt;&lt;br /&gt;You don't need to hang onto your keys to get objects out of the cache. Plus, you can now get multiple results from the cache from searching (e.g. all people named "Steve") whereas traditionally you will only get a specific object out (e.g. "Steve Jones"). Previously, the major difference between a cache and a database was the fact that you could not query it - and we've just changed that :).&lt;br /&gt;&lt;br /&gt;Beta 1 for JBoss Cache Searchable is now out, so have a look, play around and let us know what you think about it. For more information, look at the &lt;a href="http://wiki.jboss.org/wiki/JBossCacheSearchable"&gt;wiki&lt;/a&gt;.  This is &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=22866"&gt;available for download on SourceForge&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Also, I got to make my first proper presentation about this ( wOOt!) and it was to a team of developers at Sri Lanka's biggest mobile phone network - Dialog. Yeah you guys may not have Sri Lanka pop into your minds for cutting-edge technology (even if you know where it is)  but these guys do have about 4 million subscribers and may soon use JBCS on a multi-million dollar project to maintain subscriber profiles. I have attached a &lt;a href="http://wiki.jboss.org/wiki/_Files/JBossCacheSearchable/jbcsPresentation.pdf"&gt;pdf&lt;/a&gt; version if anyone wants to have a look.&lt;br /&gt;&lt;br /&gt;'Til later,&lt;br /&gt;Navin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-9060911312875405279?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/9060911312875405279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=9060911312875405279' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/9060911312875405279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/9060911312875405279'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/08/jbcs-beta-1-released.html' title='JBCS Beta 1 released!'/><author><name>Navin Surtani</name><uri>http://www.blogger.com/profile/17311355002987819058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://3.bp.blogspot.com/_05j3aXuVKa4/Srtp7evgApI/AAAAAAAAALA/8djYaPXkANc/S220/profile.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-2300959495983749438</id><published>2008-07-17T17:13:00.004+01:00</published><updated>2008-07-18T10:18:05.449+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3.0.0'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='alpha'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><title type='text'>JBoss Cache 3.0.0 "Naga" - first Alpha now available!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/3/35/Naga_Jolokia_Peppers.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 184px; height: 180px;" src="http://upload.wikimedia.org/wikipedia/commons/3/35/Naga_Jolokia_Peppers.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So to follow up from my post yesterday on &lt;a href="http://jbosscache.blogspot.com/2008/07/mvcc-has-landed.html"&gt;MVCC&lt;/a&gt;, I'd like to announce that 3.0.0.ALPHA1 - codenamed &lt;span style="font-weight: bold; font-style: italic;"&gt;Naga&lt;/span&gt; after the &lt;a href="http://en.wikipedia.org/wiki/Naga_Jolokia"&gt;Naga Jolokia&lt;/a&gt; pepper - is now ready for download.&lt;br /&gt;&lt;br /&gt;This release, in addition to a few major features like MVCC and a new configuration file format, contains a number of internal refactorings which will improve performance and stability even on previous locking schemes.&lt;br /&gt;&lt;br /&gt;Have a look at the &lt;a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312543&amp;amp;sections=.1.7.2.4.10.9.8.3.12.11.5&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;complete changelog&lt;/a&gt; of what is included in 3.0.0.ALPHA1.  If you are interested, visit our &lt;a href="http://jira.jboss.org/jira/browse/JBCACHE"&gt;JIRA page&lt;/a&gt; to look at what else is scheduled for 3.0.0.GA as well and vote on things - it helps us organise and prioritise features.&lt;br /&gt;&lt;br /&gt;As usual, the download is available on &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=22866&amp;amp;package_id=102339"&gt;SourceForge&lt;/a&gt; and the forums are &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=main&amp;amp;c=29"&gt;open for your comments&lt;/a&gt;.  :-)  Please do stress this release out with your performance tests, I'd love to hear how it deals with load and massive concurrency.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-2300959495983749438?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/2300959495983749438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=2300959495983749438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2300959495983749438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2300959495983749438'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/07/jboss-cache-300-naga-first-alpha-now.html' title='JBoss Cache 3.0.0 &quot;Naga&quot; - first Alpha now available!'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-1519022332261728648</id><published>2008-07-17T12:47:00.016+01:00</published><updated>2008-07-17T17:20:47.580+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3.0.0'/><category scheme='http://www.blogger.com/atom/ns#' term='configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><title type='text'>Configuration changes in JBoss Cache 3</title><content type='html'>&lt;span&gt;&lt;span&gt;JBoss Cache 3 comes with a new, improved layout of the .xml configuration file. Certain constraints were dropped (e.g. explicit mbean support from xml file), so we took a step forward an refactored the entire configuration to be more readable, concise and consistent.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-weight: bold;"&gt;Summary of changes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;new elements were created to gather related configurations; many of the 2.x configuration elements are attributes of these new elements&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;a href="http://www.jboss.org/jbosscache/jbosscache-config-3.0ALPHA1.xsd"&gt;xml schema&lt;/a&gt; file is shipped now to verify configuration correctness. &lt;/span&gt;&lt;/span&gt;Schema can also be used with editing tools and IDEs to make it simpler to write configuration files. &lt;span&gt;&lt;span&gt;The parser was also updated to validate against this XSD (validation errors are being reported in the logs)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;we supply tools for converting from an old XML file format to the new one, so that one does not have to migrate the scripts by hand&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;we kept the old parser, so old style configuration files are perfectly supported (not recommended though, as there you cannot specify features like MVCC and custom interceptors)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;Configuration API is unchanged, so if you used programmatic configuration in your code it will work just fine&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;all the time related configurations are now in milliseconds (old eviction configurations elements were in seconds)&lt;/span&gt;&lt;/span&gt;. The XSLT script that transforms from old configuration file to new one know how to transform seconds to milliseconds, when necessary.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;it is possible to configure custom interceptors declaratively&lt;span&gt;&lt;span&gt;, in the configuration file&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-weight: bold;"&gt;Migration old files to new format&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The distribution comes with scripts that will automatically handle the transformation. You can find them in  &lt;span style="font-style: italic;"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span&gt;DISTR_ROOT/resources/config-samples/&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;config2to3.sh&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;and equivalent script for DOS. &lt;/span&gt;&lt;/span&gt;Executing the script will provide usage and help.&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;More on the new elements...&lt;/span&gt; &lt;p&gt;The distributions comes with several sample configuration files (DISTR_ROOT/resources/config-samples) which are a good start if you need to write your own, customized configuration.&lt;br /&gt;Below are snapshots from the new configuration file, followed by a description of their meaning.&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;i&gt;&amp;lt;locking isolationLevel="REPEATABLE_READ" lockAcquisitionTimeout="10000" nodeLockingScheme="mvcc"/&amp;gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;the cache will use an mvcc locking scheme (other possible values are 'pessimistic' and 'optimistic' with isolation level set to  'REPEATABLE_READ'&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&amp;lt;transaction transactionManagerLookupClass="org.jboss.cache.transaction.GenericTransactionManagerLookup"/&amp;gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;specify a lookup class for the transaction manager.&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&amp;lt;stateRetrieval timeout="20000" fetchInMemoryState="true"/&amp;gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;This instance will retrieve state from other existing instance, having the given timeout.&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&amp;lt;transport clusterName="JBossCache-Cluster"/&amp;gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;specifies the JGroups cluster name and also uses the default JGroups configuration for transport.&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&amp;lt;replication&amp;gt;&lt;br /&gt;&amp;lt;sync replTimeout="15000"/&amp;gt;&lt;br /&gt;&amp;lt;buddy enabled="true" poolName="myBuddyPoolReplicationGroup" communicationTimeout="2000"&amp;gt;&lt;br /&gt;   &amp;lt;dataGravitation auto="false" removeOnFind="true" searchBackupTrees="true"/&amp;gt;&lt;br /&gt;   &amp;lt;locator class="org.jboss.cache.buddyreplication.NextMemberBuddyLocator"&amp;gt;&lt;br /&gt;      &amp;lt;properties&amp;gt;&lt;br /&gt;         numBuddies = 1&lt;br /&gt;         ignoreColocatedBuddies = true&lt;br /&gt;      &amp;lt;/properties&amp;gt;&lt;br /&gt;   &amp;lt;/locator&amp;gt;&lt;br /&gt;&amp;lt;/buddy&amp;gt;&lt;br /&gt;&amp;lt;/replication&amp;gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;This is a synchronously replicated cache using buddy replication.&lt;br /&gt;&lt;span&gt;&lt;span&gt;For using the cache in asynchronous invalidation mode that does not use replication queues, following configuration might be used:&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&amp;lt;invalidation&amp;gt;&lt;br /&gt;&amp;lt;async useReplQueue="false"/&amp;gt;&lt;br /&gt;&amp;lt;/invalidation&amp;gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;If you want to use a local cache, you can do that by not specifying neither an 'replication' nor an 'invalidation' element.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&amp;lt;startup regionsInactiveOnStartup=”true”/&amp;gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;the regions will not be active when the cache starts, so it will not respond to replication messages.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&amp;lt;serialization useRegionBasedMarshalling="true"/&amp;gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;Tells the cache to use different cache loaders for different regions, when (de)serializing data.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&amp;lt;jmxStatistics enabled='true'/&amp;gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;tells the cache to gather usage information and expose it as JMX statistics&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&lt;br /&gt;&amp;lt;eviction wakeUpInterval="5000" defaultPolicyClass="org.jboss.cache.eviction.LRUPolicy" defaultEventQueueSize="200000"&amp;gt;&lt;br /&gt;&amp;lt;default&amp;gt;&lt;br /&gt;   &amp;lt;attribute name="maxNodes"&amp;gt;5000&amp;lt;/attribute&amp;gt;&lt;br /&gt;   &amp;lt;attribute name="timeToLiveSeconds"&amp;gt;1000&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;/default&amp;gt;&lt;br /&gt;&amp;lt;region name="/org/jboss/data"&amp;gt;&lt;br /&gt;   &amp;lt;attribute name="maxNodes"&amp;gt;5000&amp;lt;/attribute&amp;gt;&lt;br /&gt;   &amp;lt;attribute name="timeToLiveSeconds"&amp;gt;1000&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;/region&amp;gt;&lt;br /&gt;&amp;lt;/eviction&amp;gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;This is an eviction configuration. Default policy and queue size (attributes of 'eviction' element) allows defining defaults value for subsequent regions. Also, the 'default' element defines cache wide eviction strategy, overridden on an region bases by following 'region' elements.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&lt;br /&gt;&amp;lt;loaders passivation="false" shared="true"&amp;gt;&lt;br /&gt;&amp;lt;preload&amp;gt;&lt;br /&gt;   &amp;lt;node fqn="/"/&amp;gt;&lt;br /&gt;&amp;lt;/preload&amp;gt;&lt;br /&gt;&amp;lt;!-- if passivation is true, only the first cache loader is used; the rest are ignored --&amp;gt;&lt;br /&gt;&amp;lt;loader class="org.jboss.cache.loader.JDBCCacheLoader" async="false" fetchPersistentState="true"&lt;br /&gt;   ignoreModifications="false" purgeOnStartup="false"&amp;gt;&lt;br /&gt;   &amp;lt;properties&amp;gt;&lt;br /&gt;      cache.jdbc.table.name=jbosscache&lt;br /&gt;      cache.jdbc.table.create=true&lt;br /&gt;      cache.jdbc.table.drop=true&lt;br /&gt;      cache.jdbc.table.primarykey=jbosscache_pk&lt;br /&gt;      ...&lt;br /&gt;   &amp;lt;/properties&amp;gt;&lt;br /&gt;&amp;lt;/loader&amp;gt;&lt;br /&gt;&amp;lt;/loaders&amp;gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;This is an cache loader configuration for a shared JDBCCacheLoader, no passivation. The root node will be preloaded on startup, specified through 'preload' element.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;i&gt;&lt;br /&gt;&amp;lt;customInterceptors&amp;gt;&lt;br /&gt;&amp;lt;interceptor position="first" class="org.jboss.cache.sample.AaaCustomInterceptor"&amp;gt;&lt;br /&gt;   &amp;lt;attribute name="attrOne"&amp;gt;value1&amp;lt;/attribute&amp;gt;&lt;br /&gt;   &amp;lt;attribute name="attrTwo"&amp;gt;value2&amp;lt;/attribute&amp;gt;&lt;br /&gt;   &amp;lt;attribute name="attrThree"&amp;gt;value3&amp;lt;/attribute&amp;gt;&lt;br /&gt;&amp;lt;/interceptor&amp;gt;&lt;br /&gt;&amp;lt;/customInterceptors&amp;gt;&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;This configures the addition of a custom interceptor to the interceptor chain, after the default interceptor chain for the current configuration is built. The custom interceptor must have setters corresponding to 'attrOne', 'attrTwo' and 'attrThree', must implement org.jboss.cache.interceptors.base.CommandInterceptor, must have an default constructor. &lt;/span&gt;&lt;/span&gt;Its location in the chain will be determined by the value of the "position" attribute".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-1519022332261728648?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/1519022332261728648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=1519022332261728648' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1519022332261728648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1519022332261728648'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/07/configuration-changes-in-jboss-cache-3.html' title='Configuration changes in JBoss Cache 3'/><author><name>Mircea Markus</name><uri>http://www.blogger.com/profile/05770462190019736584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_ISQfVF8ALAQ/Sm3S_Le22xI/AAAAAAAABqU/lAI5B7VN5x8/S220/mircea.markus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-2742642547251445413</id><published>2008-07-16T10:53:00.010+01:00</published><updated>2008-07-18T10:16:29.833+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='3.0.0'/><category scheme='http://www.blogger.com/atom/ns#' term='deadlock'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='locking'/><category scheme='http://www.blogger.com/atom/ns#' term='mvcc'/><category scheme='http://www.blogger.com/atom/ns#' term='naga'/><category scheme='http://www.blogger.com/atom/ns#' term='concurrency'/><title type='text'>MVCC has landed</title><content type='html'>I will soon be releasing the first alpha on &lt;span style="font-weight: bold;"&gt;JBoss Cache 3.0.0&lt;/span&gt; - codenamed &lt;span style="font-style: italic; font-weight: bold;"&gt;Naga&lt;/span&gt; after the &lt;a href="http://en.wikipedia.org/wiki/Naga_Jolokia"&gt;Naga Jolokia&lt;/a&gt; pepper, naturally keeping with the pepper-naming theme.  This is an alpha and doesn't nearly have all of what the GA release will have, but it does have two very significant features which I would like to share with the world.  One is MVCC, and the other is a new configuration file format - which I've left for &lt;a href="http://jbosscache.blogspot.com/2008/07/configuration-changes-in-jboss-cache-3.html"&gt;&lt;span style="font-weight: bold;"&gt;Mircea Markus&lt;/span&gt; to talk about in his post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;UPDATE&lt;/span&gt;&lt;span style="font-style: italic;"&gt;: This has now been released.  See my &lt;/span&gt;&lt;a style="font-style: italic;" href="http://jbosscache.blogspot.com/2008/07/jboss-cache-300-naga-first-alpha-now.html"&gt;post on the release&lt;/a&gt;&lt;span style="font-style: italic;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So on with MVCC.  This is something people have been waiting for, for a long while now.  Historic locking schemes - &lt;a href="http://www.jboss.org/file-access/default/members/jbosscache/freezone/docs/2.2.0.CR6/userguide_en/html/transactions.html#d0e3800"&gt;pessimistic locking&lt;/a&gt; and &lt;a href="http://www.jboss.org/file-access/default/members/jbosscache/freezone/docs/2.2.0.CR6/userguide_en/html/transactions.html#d0e3855"&gt;optimistic locking&lt;/a&gt; - have always been somewhat slow, inefficient, and synchronization-heavy.  So we've redesigned concurrency and locking in the cache from scratch and have MVCC.  Our &lt;a href="http://wiki.jboss.org/wiki/JBossCacheMVCC"&gt;designs for MVCC&lt;/a&gt; have been online for a while now.  I do need to update the design page with more implementation details though, which did differ slightly from the original designs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Feature Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In a nutshell, MVCC is a new locking scheme (&lt;a href="http://en.wikipedia.org/wiki/Multiversion_concurrency_control"&gt;&lt;span style="font-weight: bold;"&gt;M&lt;/span&gt;ulti&lt;span style="font-weight: bold;"&gt;V&lt;/span&gt;ersion &lt;span style="font-weight: bold;"&gt;C&lt;/span&gt;oncurrency &lt;span style="font-weight: bold;"&gt;C&lt;/span&gt;ontrol&lt;/a&gt;, something that most good database implementations have been using for a while now).  our implementation is particularly interesting in that it is &lt;span style="font-style: italic;"&gt;completely lock-free&lt;/span&gt; for readers.  This makes it very efficient for a read-mostly system like a cache.  The summary of features are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Writers don't block readers.  At all.&lt;/li&gt;&lt;li&gt;Completely lock-free for readers.&lt;/li&gt;&lt;li&gt;Writers are fail-fast (so no &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;DataVersionException&lt;/span&gt;&lt;/span&gt;s at commit time, like when using our old Optimistic Locking implementation)&lt;/li&gt;&lt;li&gt;Deadlock-safe (thanks to non-blocking readers)&lt;/li&gt;&lt;li&gt;Memory efficient since we use lock striping (for writer locks) rather than one-lock-per-node.&lt;/li&gt;&lt;li&gt;Write locks implemented using the JDK's &lt;span style=";font-family:courier new;font-size:85%;"  &gt;AbstractQueuedSynchronizer&lt;/span&gt; - which makes it free of implicit locks and &lt;span style=";font-family:courier new;font-size:85%;"  &gt;synchronized&lt;/span&gt; blocks.&lt;/li&gt;&lt;li&gt;Locks held on &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Fqn&lt;/span&gt;&lt;/span&gt;s and not &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Node&lt;/span&gt;&lt;/span&gt;s.  Which solves problems with concurrent create-and-removes seen occasionally with Pessimistic Locking under high load.&lt;/li&gt;&lt;/ul&gt;So what does this mean to everyone?  Basically, a much more efficient locking scheme (expect statistics and comparisons here soon), with all the best that the previous two locking schemes had to offer (fail-fast - PL, concurrent readers and writers, deadlock-free - OL).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Switching it on&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the upcoming alpha, you enable this by setting your node locking scheme to MVCC:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;  Configuration c = new Configuration();&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;  c.setNodeLockingScheme(Configuration.NodeLockingScheme.MVCC);&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;MVCC allows two isolation levels - &lt;span style="font-style: italic;"&gt;READ_COMMITTED&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;REPEATABLE_READ&lt;/span&gt;.  All other isolation levels - if configured - will be upgraded or downgraded accordingly.  There are a further two configuration elements for MVCC:  &lt;span style=";font-family:courier new;font-size:85%;"  &gt;concurrencyLevel&lt;/span&gt; and &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;writeSkewCheck&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Concurrency levels&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Concurrency level is a tuning parameter that helps determine the number of segments used when creating a collection of shared locks for all writers.  This is similar to the &lt;span style=";font-family:courier new;font-size:85%;"  &gt;concurrencyLevel&lt;/span&gt; parameter passed in to the JDK's &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ConcurrentHashMap.html#ConcurrentHashMap%28int,%20float,%20int%29"&gt;ConcurrentHashMap constructor&lt;/a&gt;.  Unlike CHMs, this defaults to 50 - and should be tuned accordingly.  Bigger = greater concurrency but more memory usage - thanks to additional segments.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Write skews&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A write skew is a condition where with &lt;span style="font-style: italic;"&gt;REPEATABLE_READ&lt;/span&gt; semantics, a transaction reads a value, and then changes to to something based on what was read, but another thread had changed it between the two operations.  Consider:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;// start transaction&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;line 1: int counterValue = readSomething();&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;line 2: writeSomething(counterValue + 1);&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;// end transaction&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Since MVCC offers concurrent reads and writes, thread &lt;span style="font-weight: bold;"&gt;T1&lt;/span&gt; could be at line 1, another thread  (&lt;span style="font-weight: bold;"&gt;T2&lt;/span&gt;) could be at line 2 updating the value after &lt;span style="font-weight: bold;"&gt;T1&lt;/span&gt; has read it.  Then when &lt;span style="font-weight: bold;"&gt;T1&lt;/span&gt; comes to writing the value, this would overwrite the update that &lt;span style="font-weight: bold;"&gt;T2&lt;/span&gt; had made.  This is a write-skew.&lt;br /&gt;&lt;br /&gt;Now depending on your application, you may not care about such overwrites, and hence by default we don't do anything about it and allow the overwrite to continue.  However, there are still plenty of cases where write skews are bad.  If the &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;writeSkewCheck&lt;/span&gt;&lt;/span&gt; configuration parameter is set to &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;true&lt;/span&gt;&lt;/span&gt;, an exception is thrown every time a write skew is detected.  So in the above example, when &lt;span style="font-weight: bold;"&gt;T1&lt;/span&gt; attempts to &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;writeSomething()&lt;/span&gt;&lt;/span&gt;, an exception will be thrown forcing &lt;span style="font-weight: bold;"&gt;T1&lt;/span&gt; to retry its transaction.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What about other locking schemes?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;With our final release, we hope to make MVCC the default option.  Optimistic and Pessimistic locking will still be available but deprecated, and will be removed in a future release based on the success of MVCC.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Great!  Where can I get it?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I will announce the release on this blog soon.  Once the release is available, please download it and try it out - feedback is very important, especially in highly concurrent environments under a lot of stress.&lt;br /&gt;&lt;br /&gt;If you are that impatient, you're welcome to check out JBoss Cache core trunk from SVN and have a play-around.  :-)&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-2742642547251445413?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/2742642547251445413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=2742642547251445413' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2742642547251445413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2742642547251445413'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/07/mvcc-has-landed.html' title='MVCC has landed'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-564267141129326025</id><published>2008-07-04T14:23:00.018+01:00</published><updated>2008-07-25T15:02:41.422+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='query'/><category scheme='http://www.blogger.com/atom/ns#' term='lucene'/><category scheme='http://www.blogger.com/atom/ns#' term='index'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='hibernate search'/><title type='text'>JBoss Cache Searchable</title><content type='html'>For those who don't know yet, I've been working on a GSoC (Google Summer of Code) project and is the integration package between JBoss Cache and Hibernate Search. Basically, this enables users to search through JBoss Cache using Hibernate Search. According to another Surtani at JBoss, it's a very cool project and as far as I'm concerned it's just a fun piece of code to be working on :). It's been an interesting, topsy-turvy ride over the past couple of months getting all this stuff to work - and is still not optimised, but that will be done over the next couple of weeks. Here is some basic information I copied out from the &lt;a href="http://wiki.jboss.org/wiki/JBossCacheSearchable"&gt;wiki&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;About this package&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The goal is to add search capabilities to JBoss Cache.  We achieve this by using Hibernate Search  to index user objects as they are added to the cache and modified.  The cache is queried by passing in a valid Apache Lucene query which is then used to search through the indexes and retrieve matching objects from the cache.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Usage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How will I use jbosscache-searchable?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can create an instance of a searchable-cache. People who use jbosscache-core frequently will find this quite easy as it is very similar to creating an instance of the cache.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-family:courier new;"&gt;SearchableCache&lt;/span&gt; interface is a sub-interface of Cache. Hence, it has the usual &lt;span style="font-family:courier new;"&gt;put(), get() and remove()&lt;/span&gt; methods on it. However, it also has the &lt;span style="font-family:courier new;"&gt;createQuery()&lt;/span&gt; method. This will return a &lt;span style="font-family:courier new;"&gt;CacheQuery&lt;/span&gt; object with which the &lt;span style="font-family:courier new;"&gt;list()&lt;/span&gt; method can be called. This will return all the results from the search in a list. You can also call an &lt;span style="font-family:courier new;"&gt;iterator()&lt;/span&gt; method on it - which returns a &lt;span style="font-family:courier new;"&gt;QueryResultIterator&lt;/span&gt; which is a sub-interface of the jdk's &lt;span style="font-family:courier new;"&gt;ListIterator&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to create a searchable cache, code example: - &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Start by creating a core cache.&lt;br /&gt;&lt;span style=";font-family:lucida grande;font-size:100%;"  &gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Cache cache = new DefaultCacheFactory().createCache();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Similar to that create a searchable cache. As parameters, you must pass in the cache instance that you have created and the classes that you wish to be searched.&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:lucida grande;font-size:100%;"  &gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SearchableCache searchable = new &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SearchableCacheFactory().createSearchableCache(cache, Person.class);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lets say that I have 100 objects in this class and I want to search for the people with name John.As with Hibernate Search, create a Lucene query and a QueryParser.&lt;br /&gt;&lt;span style=";font-family:lucida grande;font-size:100%;"  &gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;QueryParser queryParser = new QueryParser("name", new StandardAnalyzer());&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;"name" is the field within Person that I want to be searching through.&lt;br /&gt;&lt;span style=";font-family:lucida grande;font-size:100%;"  &gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Query luceneQuery = queryParser.parse("John");&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span&gt;John&lt;/span&gt;&lt;span&gt;" is the word within the name field that I want to be searching for.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:lucida grande;font-size:100%;"  &gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;CacheQuery cacheQuery = searchableCache.createQuery(luceneQuery);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;The cacheQuery object will now have all the instances of Person with name John. I can now put all of these into a List: -&lt;br /&gt;&lt;span style=";font-family:lucida grande;font-size:100%;"  &gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;List results = cacheQuery.list();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Annotations on your classes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For the classes that you want to be searched, you will have to annotate them with Hibernate Search annotations.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@ProvidedId&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; -&lt;/span&gt; Firstly, you should not annotate a field with @DocumentId  as normally with Hibernate Search. The @ProvidedId is so that Hibernate Search will not expect a @DocumentId and will know that you will provide one later. This is to say that a class with @ProvidedId doesn't need a @DocumentId. Although at this point it has not been tested, a @DocumentId in a field which is in a class that has a @ProvidedId  should not break your system. This is a class annotation. &lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;Indexed&lt;/span&gt; - This is so that Hibernate Search will index the class in Lucene and is annotated on the class.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@Field&lt;/span&gt; - Hibernate Search will put all class-fields with this annotation into the index. With each @Field, you must also specify that the ''store'' property is set to ''yes''. Otherwise the field will not be stored. For example: -&lt;span style="color: rgb(51, 0, 51);"&gt; &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);font-family:courier new;" &gt;@Field (store = STORE.YES)&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt; &lt;i style="font-style: italic;"&gt;Also see &lt;a href="http://www.hibernate.org/hib_docs/search/api/overview-summary.html"&gt;http://www.hibernate.org/hib_docs/search/api/overview-summary.html&lt;/a&gt;&lt;/i&gt;&lt;span style="font-style: italic;"&gt; for more information on annotations.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;For more information, see the wiki page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-564267141129326025?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/564267141129326025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=564267141129326025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/564267141129326025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/564267141129326025'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/07/jboss-cache-searchable.html' title='JBoss Cache Searchable'/><author><name>Navin Surtani</name><uri>http://www.blogger.com/profile/17311355002987819058</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='20' height='32' src='http://3.bp.blogspot.com/_05j3aXuVKa4/Srtp7evgApI/AAAAAAAAALA/8djYaPXkANc/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-2638903094721708228</id><published>2008-07-02T15:40:00.003+01:00</published><updated>2008-07-02T15:45:24.901+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poblano'/><category scheme='http://www.blogger.com/atom/ns#' term='CR'/><category scheme='http://www.blogger.com/atom/ns#' term='pojocache'/><category scheme='http://www.blogger.com/atom/ns#' term='pojo'/><category scheme='http://www.blogger.com/atom/ns#' term='release candidate'/><title type='text'>CRs everywhere.  POJO Edition as well.</title><content type='html'>So there have been a whole host of CRs on JBoss Cache Poblano.  We've been releasing a whole bunch of these fairly close to one another, and have finally come to a pretty stable and solid CR that may well be the last before GA.  2.2.0.CR6 it is - and you know where to get it.&lt;br /&gt;&lt;br /&gt;In addition, after a long wait, we also finally have the POJO Edition catching up with the release numbers.  jbosscache-pojo 2.2.0.CR5 has been released with a CR6 coming out pretty shortly.  The wait, primarily due to dependencies on fixes and new features in javassist and JBoss-AOP, is worth it - POJO Edition now handles array interception, more of which I expect Jason to blog about shortly.&lt;br /&gt;&lt;br /&gt;Since we are at the final stages of release candidates for 2.2.0, I urge you to download and try out this release, and feed back as much as possible.&lt;br /&gt;&lt;br /&gt;Important links are as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.jboss.org/jbosscache/download/index.html"&gt;Downloads&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jboss.org/jbosscache/docs/index.html"&gt;Documentation&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;Forums&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-2638903094721708228?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/2638903094721708228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=2638903094721708228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2638903094721708228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2638903094721708228'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/07/crs-everywhere-pojo-edition-as-well.html' title='CRs everywhere.  POJO Edition as well.'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-7366182768817290523</id><published>2008-06-17T16:19:00.002+01:00</published><updated>2008-06-17T16:20:06.763+01:00</updated><title type='text'>"Distributed Caching with JBoss Cache: Q&amp;A with Manik Surtani"</title><content type='html'>InfoQ has just published an interview they did with yours truly on the above subject.  &lt;a href="http://www.infoq.com/news/2008/06/jboss-cache-interview"&gt;Check it out&lt;/a&gt;!  :-)&lt;br /&gt;&lt;br /&gt;- Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-7366182768817290523?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/7366182768817290523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=7366182768817290523' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7366182768817290523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7366182768817290523'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/06/distributed-caching-with-jboss-cache-q.html' title='&quot;Distributed Caching with JBoss Cache: Q&amp;A with Manik Surtani&quot;'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-5515580309636420529</id><published>2008-06-04T13:25:00.003+01:00</published><updated>2008-06-04T13:28:23.405+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poblano'/><category scheme='http://www.blogger.com/atom/ns#' term='CR'/><category scheme='http://www.blogger.com/atom/ns#' term='2.2.0'/><title type='text'>Poblano CR2 out</title><content type='html'>Marching steadily along towards 2.2.0.GA, we've just released 2.2.0.CR2.  This CR is pretty complete, nothing outstanding, very stable and no known issues.  The bext 2.X release we have done to date.  :-)&lt;br /&gt;&lt;br /&gt;I expect 2.2.0.GA to be out soon as well, provided there are no major issues reported with this CR.  &lt;span style="font-style: italic; font-weight: bold;"&gt;So this is your last chance to give 2.2.0 a sound thrashing before GA!&lt;/span&gt;  So please download this, try it out, and provide as much feedback as you can!&lt;br /&gt;&lt;br /&gt;Important links are as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.jboss.org/jbosscache/download/index.html"&gt;Downloads&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jboss.org/jbosscache/docs/index.html"&gt;Documentation&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;Forums&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-5515580309636420529?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/5515580309636420529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=5515580309636420529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5515580309636420529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5515580309636420529'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/06/poblano-cr2-out.html' title='Poblano CR2 out'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-1311069258481822785</id><published>2008-05-20T10:22:00.004+01:00</published><updated>2008-05-20T10:32:10.247+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poblano'/><category scheme='http://www.blogger.com/atom/ns#' term='release candidate'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='2.2.0'/><title type='text'>Poblano's first release candidate now available</title><content type='html'>After our recent &lt;a href="http://jbosscache.blogspot.com/2008/05/220-poblano-and-evolution-of-jboss.html"&gt;announcement&lt;/a&gt; re: JBoss Cache 2.2.0 (a.k.a. Poblano) BETA1 being released, we've been working on further stability improvements, even more performance tuning, and a couple of bugs that needed fixing.  Poblano is now a release candidate, so please download it and stress it out in your system.  Feedback is hugely important to us.&lt;br /&gt;&lt;br /&gt;Important links are as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.jboss.org/jbosscache/download/index.html"&gt;Downloads&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jboss.org/jbosscache/docs/index.html"&gt;Documentation&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;Forums&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12311704&amp;amp;sections=1&amp;amp;sections=2&amp;amp;sections=3&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;JIRA changelog&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-1311069258481822785?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/1311069258481822785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=1311069258481822785' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1311069258481822785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1311069258481822785'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/05/poblanos-first-release-candidate-now.html' title='Poblano&apos;s first release candidate now available'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-7590661246738473962</id><published>2008-05-06T11:27:00.003+01:00</published><updated>2008-05-06T11:32:57.485+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='alegrias'/><category scheme='http://www.blogger.com/atom/ns#' term='2.1.1.GA'/><title type='text'>JBoss Cache 2.1.1.GA released</title><content type='html'>I've just released a minor version on 2.1.0 "Alegrias", with some pretty important bug fixes.  These include:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    [ &lt;a href="http://jira.jboss.com/jira/browse/JBCACHE-1329"&gt;JBCACHE-1329&lt;/a&gt; ]     double removal on optimistic locking leaving stale nodes&lt;/li&gt;&lt;li&gt;    [ &lt;a href="http://jira.jboss.com/jira/browse/JBCACHE-1170"&gt;JBCACHE-1170&lt;/a&gt; ]     Leakage of marshalling region stored in ThreadLocal causes partial state transfer to fail when multiple regions present    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="http://jira.jboss.com/jira/browse/JBCACHE-1309"&gt;JBCACHE-1309&lt;/a&gt; ]     Unguarded adding of nodes to workspace    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="http://jira.jboss.com/jira/browse/JBCACHE-1310"&gt;JBCACHE-1310&lt;/a&gt; ]     Marshalling failure with optimistic PREPARE    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="http://jira.jboss.com/jira/browse/JBCACHE-1325"&gt;JBCACHE-1325&lt;/a&gt; ]     ClassLoader and probable memory leak in ReusableObjectInputStream    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="http://jira.jboss.com/jira/browse/JBCACHE-1326"&gt;JBCACHE-1326&lt;/a&gt; ]     TxInterceptor leaks MethodCall to thread    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="http://jira.jboss.com/jira/browse/JBCACHE-1316"&gt;JBCACHE-1316&lt;/a&gt; ]     recycleQueue.put() could block forever halting evictions and eventually any replications    &lt;/li&gt;&lt;/ul&gt;Other improvements include enhancements to configuration and performance:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    [ &lt;a href="http://jira.jboss.com/jira/browse/JBCACHE-1315"&gt;JBCACHE-1315&lt;/a&gt; ]     Eviction inaccuracy    &lt;/li&gt;&lt;li&gt;    [ &lt;a href="http://jira.jboss.com/jira/browse/JBCACHE-1218"&gt;JBCACHE-1218&lt;/a&gt; ]     System property substitution in config file parsing    &lt;/li&gt;&lt;/ul&gt;For a full list of JIRAs included in this release, please see the &lt;a href="http://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312116&amp;amp;sections=1&amp;amp;sections=2&amp;amp;sections=3&amp;amp;style=none&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;release note report&lt;/a&gt;.  As this is the latest and greatest of JBoss Cache 2.X, I would encourage anyone who is using a 2.X release to switch to 2.1.1.GA.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-7590661246738473962?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/7590661246738473962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=7590661246738473962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7590661246738473962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7590661246738473962'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/05/jboss-cache-211ga-released.html' title='JBoss Cache 2.1.1.GA released'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-6380621255833708583</id><published>2008-05-02T15:56:00.015+01:00</published><updated>2008-05-06T20:36:04.734+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poblano'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution'/><category scheme='http://www.blogger.com/atom/ns#' term='beta'/><category scheme='http://www.blogger.com/atom/ns#' term='2.2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='benchmark'/><title type='text'>2.2.0 "Poblano" and the evolution of JBoss Cache</title><content type='html'>So we've finally cut JBoss Cache 2.2.0.Beta1.  This is meant to be a minor release on 2.1.0, with some new features (&lt;a href="http://jira.jboss.org/jira/browse/JBCACHE-1258"&gt;JBCACHE-1258&lt;/a&gt; and &lt;a href="http://jira.jboss.org/jira/browse/JBCACHE-1320"&gt;JBCACHE-1320&lt;/a&gt; - both involving better cleanup of buddy backup regions when buddy groups no longer exist or when data is gravitated away), and some bug fixes and minor enhancements.  And, pretty severe internal refactoring.&lt;br /&gt;&lt;br /&gt;Before I bore you with details, here's a summary.  The refactoring has provided us with a much more flexible architecture, where everything is far easier to extend, build upon and unit test, and in the process we've gained on average a &lt;span style="font-weight: bold;"&gt;15%&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;performance&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;increase&lt;/span&gt; over 2.1.0, based on your cache mode.  Enough said.  :-)  Read on for gory details, or skip to the bottom for benchmarks download links and the like.&lt;br /&gt;&lt;br /&gt;Now the gory details.  The original architecture of JBoss Cache involved a &lt;span style="font-family:courier new;"&gt;CacheImpl&lt;/span&gt; class, which contained most of the core functionality, and a series of interceptors which added aspects such as replication, cache loading and locking among others.  Invocations were made on &lt;span style="font-family:courier new;"&gt;CacheImpl&lt;/span&gt; (exposed via a &lt;span style="font-family:courier new;"&gt;Cache&lt;/span&gt; interface), which created an invocation object - a subclass of JGroups' &lt;span style="font-family:courier new;"&gt;MethodCall&lt;/span&gt; object - and passed it up the interceptor chain.  The final interceptor would then invoke an internal method on &lt;span style="font-family:courier new;"&gt;CacheImpl&lt;/span&gt; via reflection.&lt;br /&gt;&lt;br /&gt;This gradually simplified (in 2.1.0, &lt;span style="font-style: italic;"&gt;Alegrias&lt;/span&gt;) to use a separate delegate class which implemented the &lt;span style="font-family:courier new;"&gt;Cache&lt;/span&gt; interface, which pushed an invocation up the interceptor chain to end up as an invocation on the &lt;span style="font-family:courier new;"&gt;CacheImpl&lt;/span&gt;, as well as a &lt;span style="font-family:courier new;"&gt;ComponentRegistry&lt;/span&gt; which managed lifecycle and dependencies between different components in the cache such as the &lt;span style="font-family:courier new;"&gt;BuddyManager&lt;/span&gt;, &lt;span style="font-family:courier new;"&gt;RPCManager&lt;/span&gt;, &lt;span style="font-family:courier new;"&gt;NodeFactory&lt;/span&gt;, &lt;span style="font-family:courier new;"&gt;Notifier&lt;/span&gt;, etc. and inject these into interceptors that declare their dependencies on such components.  This made things a lot more flexible and extensible, necessary to develop the host of new features we have planned for upcoming releases.&lt;br /&gt;&lt;br /&gt;With &lt;span style="font-style: italic;"&gt;Poblano&lt;/span&gt;, we've implemented a design by Mircea Markus, which uses &lt;a href="http://en.wikipedia.org/wiki/Visitor_pattern"&gt;Command/Visitor pattern&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Double_dispatch"&gt;double dispatch&lt;/a&gt; to achieve strongly typed callbacks into interceptors.  This involves scrapping the &lt;span style="font-family:courier new;"&gt;CacheImpl&lt;/span&gt; altogether, and implementing each public API method as a &lt;a href="http://www.jboss.org/file-access/default/members/jbosscache/freezone/docs/2.2.0.BETA1/apidocs/org/jboss/cache/commands/VisitableCommand.html"&gt;&lt;span style="font-family:courier new;"&gt;VisitableCommand&lt;/span&gt;&lt;/a&gt;.  &lt;span style="font-family:courier new;"&gt;VisitableCommand&lt;/span&gt;s can be visited by interceptors (which now implement &lt;a href="http://www.jboss.org/file-access/default/members/jbosscache/freezone/docs/2.2.0.BETA1/apidocs/org/jboss/cache/commands/Visitor.html"&gt;&lt;span style="font-family:courier new;"&gt;Visitor&lt;/span&gt;&lt;/a&gt;), each &lt;span style="font-family:courier new;"&gt;visitXXX()&lt;/span&gt; method on each interceptor receiving a strongly typed &lt;span style="font-family:courier new;"&gt;VisitableCommand&lt;/span&gt; implementation with strongly typed payloads and parameters.  The final interceptor - the &lt;span style="font-family:courier new;"&gt;CallInterceptor&lt;/span&gt; - now simply invokes &lt;span style="font-family:courier new;"&gt;VisitableCommand.perform()&lt;/span&gt;.   Commands also have all the knowledge they need on how to roll back, via a &lt;span style="font-family:courier new;"&gt;rollback()&lt;/span&gt; method, which removes the need for an undo log for each transaction.  The modification list is adequate for performing rollbacks as well.&lt;br /&gt;&lt;br /&gt;Apart from the minor gains in stronger type safety (no more casting of &lt;span style="font-family:courier new;"&gt;MethodCall&lt;/span&gt; arguments) and doing away with the need for reflection in the &lt;span style="font-family:courier new;"&gt;CallInterceptor&lt;/span&gt;, the primary benefit of this approach is much better code readability, maintainability and unit testability (how many "-ity"s can &lt;span style="font-style: italic;"&gt;you&lt;/span&gt; use on once sentence?!).  Interceptors and commands alike can now be isolated and unit tested, rather than end-to-end functional tests for every combination of configurations, and the overall architecture is much easier to work with when adding features.&lt;br /&gt;&lt;br /&gt;In terms of backward compatibility, even with the new architecture this release is 100% compatible with other 2.X releases, in terms of wire protocol (a 2.2.0 cache instance can talk to a 2.1.0 one, thanks to a new &lt;span style="font-family:courier new;"&gt;Marshaller&lt;/span&gt; implementation that is aware of and can translate between commands and &lt;span style="font-family:courier new;"&gt;MethodCall&lt;/span&gt;s being replicated) as well as in terms of plugins and extensions.  Custom interceptors extending the abstract (and now deprecated) &lt;span style="font-family:courier new;"&gt;Interceptor&lt;/span&gt; class will still work, although the preferred approach now is to extend &lt;a href="http://www.jboss.org/file-access/default/members/jbosscache/freezone/docs/2.2.0.BETA1/apidocs/org/jboss/cache/interceptors/base/CommandInterceptor.html"&gt;&lt;span style="font-family:courier new;"&gt;CommandInterceptor&lt;/span&gt;&lt;/a&gt; and use the strongly typed callbacks.&lt;br /&gt;&lt;br /&gt;And now for the big surprise - as I said before, the real goal behind this was to improve the architecture for ease of use, robustness and maintainability, and as long as we didn't regress in terms of performance, I would have been quite happy with things.  After the last week benchmarking and profiling things, we've had a very pleasant surprise, with pretty interesting performance gains.  I'll let the numbers speak for themselves - Mircea has published his benchmark numbers &lt;a href="http://wiki.jboss.org/wiki/Jbc210vsJbc220Performance"&gt;here, on this wiki page&lt;/a&gt;, along with extensive information on how the test was run.  Along with pretty charts.  We all like pretty charts.  :-)&lt;br /&gt;&lt;br /&gt;So &lt;span style="font-style: italic;"&gt;Poblano&lt;/span&gt; is now available as a beta, and I would very strongly encourage everyone to download and try this out.  We want to make sure this release works as well for everyone as we hope it will.  Check out the &lt;a href="http://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12311704&amp;amp;sections=1&amp;amp;sections=2&amp;amp;sections=3&amp;amp;sections=4&amp;amp;style=html&amp;amp;selectedProjectId=10051&amp;amp;reportKey=pl.net.mamut%3Areleasenotes&amp;amp;Next=Next"&gt;release notes&lt;/a&gt;, &lt;a href="http://www.jboss.org/jbosscache/docs/index.html"&gt;userguide and javadocs&lt;/a&gt; and &lt;a href="http://wiki.jboss.org/wiki/Jbc210vsJbc220Performance"&gt;benchmarks&lt;/a&gt; while you &lt;a href="http://www.jboss.org/jbosscache/download/index.html"&gt;download the release&lt;/a&gt;, and comment and feedback on the &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=main&amp;amp;c=29"&gt;user forums&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-6380621255833708583?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/6380621255833708583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=6380621255833708583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/6380621255833708583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/6380621255833708583'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/05/220-poblano-and-evolution-of-jboss.html' title='2.2.0 &quot;Poblano&quot; and the evolution of JBoss Cache'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-1814672437662393736</id><published>2008-04-04T11:23:00.004+01:00</published><updated>2008-04-04T11:38:11.512+01:00</updated><title type='text'>Patch release on JBoss Cache 1.4.1</title><content type='html'>JBoss Cache 1.4.1.SP9 has just been &lt;a href="https://sourceforge.net/project/showfiles.php?group_id=22866&amp;amp;package_id=102339&amp;amp;release_id=589512"&gt;released on SourceForge&lt;/a&gt;.  This is a maintenance release containing a few fixes.  Visit JBoss Cache's &lt;a href="http://jira.jboss.org/jira/browse/JBCACHE"&gt;JIRA page&lt;/a&gt; for details on what's been fixed in this release.&lt;br /&gt;&lt;br /&gt;Thanks to Jimmy Wilson and Mircea Markus for pushing out this release.&lt;br /&gt;&lt;br /&gt;It is recommended that anyone on 1.4.x upgrade to this release.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-1814672437662393736?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/1814672437662393736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=1814672437662393736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1814672437662393736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1814672437662393736'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/04/patch-release-on-jboss-cache-141.html' title='Patch release on JBoss Cache 1.4.1'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-5094043494304890459</id><published>2008-03-20T17:20:00.005Z</published><updated>2008-03-20T18:13:22.714Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GA'/><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='forums'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='alegrias'/><title type='text'>JBoss Cache 2.1.0 "Alegrias" in GA</title><content type='html'>The much-awaited JBoss Cache 2.1.0.GA release is now public and available.&lt;br /&gt;&lt;br /&gt;In addition to a few bugfixes on 2.0.0, 2.1.0 adds a few new features such as a reconnectable TcpDelegatingCacheLoader, some new API convenience methods (reminiscent of the 1.x API), and a new notifier callback to inform listeners when a buddy group changes membership.  And a lot of internal refactoring to make the code leaner, faster and more robust/maintainable.  See &lt;a href="http://jira.jboss.org/jira/browse/JBCACHE"&gt;JIRA&lt;/a&gt; for the full list of changes and enhancements.&lt;br /&gt;&lt;br /&gt;Downloads are &lt;a href="http://labs.jboss.org/jbosscache/download/index.html"&gt;in the usual place&lt;/a&gt;.  Everyone on 2.0.0 should upgrade - there are some pretty significant bug fixes here.&lt;br /&gt;&lt;br /&gt;I must give special thanks to Mark Newton, JBoss.org's content lead who has helped with revamping &lt;a href="http://labs.jboss.org/jbosscache/docs/index.html"&gt;the JBoss Cache documentation&lt;/a&gt; making it much more readable and easy to follow.  Check out the very cool code-snippet syntax highlighting!!&lt;br /&gt;&lt;br /&gt;Finally, a couple of things have changed with our &lt;a href="http://jboss.org/index.html?module=bb&amp;amp;op=main&amp;amp;c=29"&gt;user forums&lt;/a&gt; as well - there are now separate forums for &lt;a style="font-weight: bold; font-style: italic;" href="http://jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;Core&lt;/a&gt; and &lt;a style="font-weight: bold; font-style: italic;" href="http://jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=277"&gt;POJO&lt;/a&gt; editions of the cache; please  use the relevant forum when discussing JBoss Cache.  It helps us organise information better, helping you find stuff on older threads.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-5094043494304890459?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/5094043494304890459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=5094043494304890459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5094043494304890459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5094043494304890459'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/03/jboss-cache-210-alegrias-in-ga.html' title='JBoss Cache 2.1.0 &quot;Alegrias&quot; in GA'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-1998362204623113307</id><published>2008-02-22T16:01:00.005Z</published><updated>2008-02-22T16:20:24.231Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='alegrias'/><title type='text'>New JBossCache release candidate</title><content type='html'>&lt;p&gt;We at JBoss Cache are proud to announce a forth release candidate for &lt;span style="font-style: italic;"&gt;Alegrias&lt;/span&gt; - JBoss Cache 2.1.0.CR4.&lt;br /&gt;&lt;br /&gt;Please do download and try this release out - it has substantial stability improvements, lot of it based on community feedback. Your suggestions are important to us, please join the user forums if you already haven't done so, and provide us with as much feedback as you can. Also don't forget about our &lt;a href="http://jbosscache.blogspot.com/2008/01/another-month-of-bugs.html"&gt;Month Of Bugs&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;The download is available on the &lt;a href="http://labs.jboss.com/jbosscache/download"&gt;JBoss Cache downloads page&lt;/a&gt;, and the docs on the &lt;a href="http://labs.jboss.com/jbosscache/docs"&gt;JBoss Cache docs page&lt;/a&gt;.  The user forums are &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;in the usual place&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Have fun!&lt;br /&gt;Mircea&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-1998362204623113307?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/1998362204623113307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=1998362204623113307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1998362204623113307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1998362204623113307'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/02/new-jbosscache-release-candidate.html' title='New JBossCache release candidate'/><author><name>Mircea Markus</name><uri>http://www.blogger.com/profile/05770462190019736584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_ISQfVF8ALAQ/Sm3S_Le22xI/AAAAAAAABqU/lAI5B7VN5x8/S220/mircea.markus.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-99928462641460672</id><published>2008-02-05T21:15:00.001Z</published><updated>2008-02-06T00:08:38.110Z</updated><title type='text'>Reusable object streams</title><content type='html'>In the process of profiling JBoss Cache internals prior to releasing another CR, I noticed that a lot of time was spent in the construction of &lt;span style="font-family:courier new;"&gt;ObjectOutputStream&lt;/span&gt;s and &lt;span style="font-family:courier new;"&gt;ObjectInputStream&lt;/span&gt;s.  Especially wasteful since these streams are created for a very short while, just to be able to marshall an RPC method call to a byte buffer, to pass in to JGroups to replicate, or to unmarshall&lt;br /&gt;a method call from a byte buffer on the other end.&lt;br /&gt;&lt;br /&gt;Given that these streams have such a short life span, and are very frequently created and thrown away, pooling them is an obvious conclusion to come to.  The problem is, JDK object streams make it very difficult to reset or reuse.&lt;br /&gt;&lt;br /&gt;To overcome this, I have created my own set of streams - &lt;span style="font-family:courier new;"&gt;ReusableObjectOutputStream&lt;/span&gt; and &lt;span style="font-family:courier new;"&gt;ReusableObjectInputStream&lt;/span&gt; - that adds the ability to re-initialise the backing byte buffer.  Which suddenly makes pooling possible.  I can see why the JDK object streams do not allow reuse, since they could be backed by network streams that cannot be altered or reset, but in my case, since they are always backed by byte arrays, this is possible.&lt;br /&gt;&lt;br /&gt;As far as JBoss Cache is concerned, I've had to add a few more configuration elements, with which to configure pool size and optimal default byte buffer size.&lt;br /&gt;&lt;br /&gt;The code for these streams currently live in the JBoss Cache source tree.  If there is any such use for such streams outside of JBoss Cache, let me know and perhaps I can package it as an independent library.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-99928462641460672?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/99928462641460672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=99928462641460672' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/99928462641460672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/99928462641460672'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/02/reusable-object-streams.html' title='Reusable object streams'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-7863997450383123261</id><published>2008-01-28T10:28:00.000Z</published><updated>2008-01-28T10:56:51.213Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Demo'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>GUI Demo for JBoss Cache</title><content type='html'>So I've decided to try my hand at writing Swing code.  For a guy who loathes writing GUI code, Swing is particularly painful, but IntelliJ's excellent GUI designer came to the rescue, taking away most of the pain.  Sure, the generated code may not be optimal, but hey - this isn't a web browser I'm writing!&lt;br /&gt;&lt;br /&gt;So on to the demo.  The motivation for this demo is primarily the number of people that ask for a visual demo when I do presentations and talks on JBoss Cache or clustering in general.  Everyone likes to see a demo, but JBoss Cache just isn't a visual product.&lt;br /&gt;&lt;br /&gt;So that's what this demo tries to do - give JBoss Cache a "face".&lt;br /&gt;&lt;br /&gt;The demo can be downloaded from the &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=22866&amp;amp;package_id=102339&amp;amp;release_id=571969"&gt;JBoss Cache download page on Sourceforge.&lt;/a&gt;  The first release of the demo - &lt;span style="font-weight: bold;"&gt;1.0-BETA1&lt;/span&gt; - bundles JGroups 2.6.1 and JBoss Cache 2.1.0.CR3.  Requirements are minimal - just a Java 5 JDK.&lt;br /&gt;&lt;br /&gt;It should be pretty simple and straightforward to use - unzip and run the &lt;span style="font-style: italic;"&gt;run.sh &lt;/span&gt;script to launch the GUI.  The first thing you will see is an unstarted cache:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ca0W9t-Ryos/R52x9fcI0oI/AAAAAAAAAAc/tx_rBkA0GRs/s1600-h/GUI1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_ca0W9t-Ryos/R52x9fcI0oI/AAAAAAAAAAc/tx_rBkA0GRs/s400/GUI1.png" alt="" id="BLOGGER_PHOTO_ID_5160476418006110850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Once you click the &lt;span style="font-weight: bold;"&gt;Start Cache&lt;/span&gt; button, you should see the contents of the default configuration file used with the cache instance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ca0W9t-Ryos/R52yevcI0pI/AAAAAAAAAAk/s-ULX29flXs/s1600-h/GUI2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_ca0W9t-Ryos/R52yevcI0pI/AAAAAAAAAAk/s-ULX29flXs/s400/GUI2.png" alt="" id="BLOGGER_PHOTO_ID_5160476989236761234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Note that this is a read-only display of the configuration file used.  If you wish to edit this, exit the GUI demo, edit the config file in &lt;span style="font-style: italic;"&gt;/etc/&lt;/span&gt; and start the GUI demo again.&lt;br /&gt;&lt;br /&gt;Now ideally you'd want to start several instances of the GUI demo, to watch them form a cluster and share data.  The title bar of the application shows you the local instance's Cluster Address and the number of members in the cluster:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ca0W9t-Ryos/R52zEPcI0qI/AAAAAAAAAAs/E4KcaPyvV5U/s1600-h/clusterSize.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_ca0W9t-Ryos/R52zEPcI0qI/AAAAAAAAAAs/E4KcaPyvV5U/s400/clusterSize.png" alt="" id="BLOGGER_PHOTO_ID_5160477633481855650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And once you have a few instances going, clicking on the &lt;span style="font-weight: bold;"&gt;Cluster view&lt;/span&gt; tab will show you the cluster's topology, indicating which instance is the JGroups &lt;span style="font-style: italic;"&gt;coordinator&lt;/span&gt;, the current instance, and, if buddy replication is enabled, which instances are your buddy backups.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ca0W9t-Ryos/R52zsPcI0rI/AAAAAAAAAA0/PDEtUWwAAiM/s1600-h/memberList.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_ca0W9t-Ryos/R52zsPcI0rI/AAAAAAAAAA0/PDEtUWwAAiM/s400/memberList.png" alt="" id="BLOGGER_PHOTO_ID_5160478320676623026" border="0" /&gt;&lt;/a&gt;Finally, using the &lt;span style="font-weight: bold;"&gt;Manipulate data&lt;/span&gt; tab, you can either enter specific data, or generate random data, and using the &lt;span style="font-weight: bold;"&gt;Data view&lt;/span&gt; tab, watch how this replicates across your cluster.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ca0W9t-Ryos/R520NfcI0sI/AAAAAAAAAA8/FNpe8nz_S1M/s1600-h/Data.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_ca0W9t-Ryos/R520NfcI0sI/AAAAAAAAAA8/FNpe8nz_S1M/s400/Data.png" alt="" id="BLOGGER_PHOTO_ID_5160478891907273410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Simple as that, really.&lt;br /&gt;&lt;br /&gt;Enjoy playing around with this tool, and please provide feedback on the &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;JBoss Cache user forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-7863997450383123261?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/7863997450383123261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=7863997450383123261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7863997450383123261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7863997450383123261'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/01/gui-demo-for-jboss-cache.html' title='GUI Demo for JBoss Cache'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_ca0W9t-Ryos/R52x9fcI0oI/AAAAAAAAAAc/tx_rBkA0GRs/s72-c/GUI1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-3565567126619683811</id><published>2008-01-16T18:37:00.000Z</published><updated>2008-01-28T10:57:15.719Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='month of bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='MOB'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>Another Month of Bugs</title><content type='html'>So after the overwhelming success of the last Month of Bugs competition we had (leading up to 2.0.0.GA) we'd like to do the same with 2.1.0.GA.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://labs.jboss.com/file-access/default/members/jbosscache/freezone/monthOfBugs/Jan2008/Month_of_Bugs/Month_of_Bugs_files/mob_jan_2008_370.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://labs.jboss.com/file-access/default/members/jbosscache/freezone/monthOfBugs/Jan2008/Month_of_Bugs/Month_of_Bugs_files/mob_jan_2008_370.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2.1.0.CR3 has just been released.  It is faster and more stable than CR2, and we'd really like anyone using 2.0.0 to download and try out 2.1.0.CR3 instead.  Try it in your test or staging systems, try it with your unit and stress tests.  And let us know how it performs.  Also, help us by going through the documentation, examples, everything, really - as far as the competition is concerned, every contribution counts, whether it is a bug, unit test, code patch, documentation edit, whatever.&lt;br /&gt;&lt;br /&gt;As with the last time, there are some great prizes up for grabs such as gift vouchers, T-Shirts, etc., and we've also added &lt;span style="font-style: italic; font-weight: bold;"&gt;@jbosscache.org&lt;/span&gt; email aliases to add to your geek credentials!&lt;br /&gt;&lt;br /&gt;Please see the &lt;a href="http://labs.jboss.com/jbosscache/monthOfBugs/Jan2008"&gt;Month of Bugs&lt;/a&gt; page on the JBoss Cache website for details.&lt;br /&gt;&lt;br /&gt;Happy hacking!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-3565567126619683811?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/3565567126619683811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=3565567126619683811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3565567126619683811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3565567126619683811'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/01/another-month-of-bugs.html' title='Another Month of Bugs'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-7846593972716083112</id><published>2008-01-16T18:30:00.001Z</published><updated>2008-01-28T10:57:36.906Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='alegrias'/><title type='text'>The first JBoss Cache release for 2008</title><content type='html'>We at JBoss Cache are proud to announce a third release candidate for &lt;span style="font-style: italic;"&gt;Alegrias&lt;/span&gt; - JBoss Cache 2.1.0.CR3.&lt;br /&gt;&lt;br /&gt;Please do download and try this release out - it has some substantial performance and stability improvements over CR2.  Your feedback is really important in stabilising 2.1.0 - please join the user forums if you already haven't done so, and provide us with as much feedback as you can.&lt;br /&gt;&lt;br /&gt;The download is available on the &lt;a href="http://labs.jboss.com/jbosscache/download"&gt;JBoss Cache downloads page&lt;/a&gt;, and the docs on the &lt;a href="http://labs.jboss.com/jbosscache/docs"&gt;JBoss Cache docs page&lt;/a&gt;.  The user forums are &lt;a href="http://www.jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;in the usual place&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Have fun!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-7846593972716083112?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/7846593972716083112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=7846593972716083112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7846593972716083112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7846593972716083112'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2008/01/first-jboss-cache-release-for-2008.html' title='The first JBoss Cache release for 2008'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-7540676275667801147</id><published>2007-12-14T17:19:00.000Z</published><updated>2008-01-28T10:57:58.386Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cayenne'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='alegrias'/><title type='text'>New releases</title><content type='html'>Yes, I know I've been crap at announcing new releases, but in the past 2 weeks we've released a new SP on the 1.4.1 series as well as a new CR on 2.1.0.&lt;br /&gt;&lt;br /&gt;2.1.0.CR2 is moving swiftly along towards GA, although I foresee at least 2 more CRs before release - this is going to be a rock-solid stable GA. I'm planning some pretty significant performance enhancements for CR3 as well, but please download CR2 for now and provide as much feedback as you can.  It all helps.&lt;br /&gt;&lt;br /&gt;1.4.1.SP8 contains some pretty significant bug fixes, particularly around buddy replication and optimistic locking.  Please see the changelog for details.&lt;br /&gt;&lt;br /&gt;Downloads on &lt;a href="http://labs.jboss.org/jbosscache/downloads"&gt;http://labs.jboss.org/jbosscache/downloads&lt;/a&gt; as usual, and the &lt;a href="http://jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;forums&lt;/a&gt; and &lt;a href="http://jira.jboss.org/jira/browse/JBCACHE"&gt;JIRA&lt;/a&gt; are in the usual places.&lt;br /&gt;&lt;br /&gt;Enjoy, and Merry Christmas.&lt;br /&gt;&lt;br /&gt;- Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-7540676275667801147?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/7540676275667801147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=7540676275667801147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7540676275667801147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7540676275667801147'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/12/new-releases.html' title='New releases'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-5246109722315852654</id><published>2007-12-12T11:20:00.001Z</published><updated>2008-01-28T10:58:21.389Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='clustering'/><title type='text'>Republished: The Myth of Transparent Clustering</title><content type='html'>Since moving the JBoss Cache blogs to blogger.com, I've noticed that some of my old blogs on jboss.org seem to have disappeared. People have been specifically asking for this one, &lt;span style="font-style: italic; font-weight: bold;"&gt;The Myth of Transparent Clustering&lt;/span&gt; - first published on jboss.org on the 5th of June 2006 and referenced by this &lt;a href="http://www.theserverside.com/news/thread.tss?thread_id=41218"&gt;TSS thread&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So here it is again, in it's original, unmodified form.  Enjoy!&lt;br /&gt;&lt;br /&gt;- Manik&lt;blockquote&gt;&lt;br /&gt;&lt;br /&gt;I recently sat through a webinar by a certain unnamed vendor of Java clustering components, and was surprised to note that engineers experienced in the art of clustering Java applications still tout transparent clustering.  It is one thing to see the concept of transparent clustering upheld by engineers whose core focus is &lt;i&gt;not&lt;/i&gt; clustering, but coming from engineers who spend most of their waking hours focused on this task is another story.&lt;br /&gt;&lt;br /&gt;Let's first explore what I understand to be - and what people seem to promote as - transparent clustering.  In my mind, if clustering is to be truly transparent to your application - or more specifically, to you, the application's author - clustering should be enabled, configured, and tuned independent of the application, as a separate aspect.  In addition, no changes in application design or implementation should be necessary for the application to be successfully clustered or for it to scale efficiently.  Lets refer to these arguments as &lt;b&gt;enablement&lt;/b&gt; and &lt;b&gt;performance&lt;/b&gt;.  In this article I only refer to the server-side aspects of clustering and not client-side code which needs to be able to fail over transparently.&lt;br /&gt;&lt;br /&gt;Consider the first argument, &lt;b&gt;enablement&lt;/b&gt;.  Enabling, configuring and tuning the way your application is clustered in a transparent fashion is well within the grasp of what Java has to offer.  Between XML configuration and annotations, AOP frameworks and runtime bytecode instrumentation, your code can be clean and have absolutely no dependency on clustering libraries or APIs.  This is commonly called the API-less model.  (In reality this is not &lt;i&gt;completely&lt;/i&gt; API-less, as there will always be a dependency on an XML schema or annotations which, while may not be a compile-time Java dependency, still is a dependency on an API albeit a weaker one.  I will not focus on this and am willing to overlook this dependency for the time being.).  It is after achieving this that some stop, sit on their laurels and claim having achieved transparent clustering.&lt;br /&gt;&lt;br /&gt;What is usually overlooked is the second half of my argument, &lt;b&gt;performance&lt;/b&gt;, usually let down by not designing and implementing your application with clustering in mind.  This is waved away as unimportant, that modern computing resources mean that 'minor inefficiencies' will not be a problem.  Such wave-awayers obviously haven't heard of Sun Fellow Peter Deutsch's &lt;a href="http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing"&gt;Fallacies of Distributed Computing&lt;/a&gt;.  As much as people would like to think that with modern techniques like AOP, bytecode injection, annotations, along with a healthy dose of ignorance of reality, wishing upon a star and belief in the tooth fairy, clustering can be a truly decoupled aspect that can be applied to anything, they are wrong.  I've heard a comment about JVMs handling garbage collection transparently and why clustering should similarly be as transparent.  The bitter truth is that clustering can at best be thought of as half an aspect.&lt;br /&gt;&lt;br /&gt;In a literal sense, with an API-less model, clustering can be implemented transparently.  In all but the simplest of applications, though, this will not be sufficient to meet the goals of the clustering attempt without some consideration for clustering in the application.  Large objects that need serialisation, considerations with use of transient and static variables, sub-optimal calls between layers of business logic, a tight loop of synchronisation can all lead to very inefficient clustering while these may be perfectly acceptable and performant in a standalone application.  If your application wasn't written with clustering in mind, don't expect it to scale very well with the heavily promoted transparent clustering frameworks available.&lt;br /&gt;&lt;br /&gt;So what does this mean for being able to cluster your application?  Simple.  Keep clustering in mind when designing it, even if there is no immediate requirement for clustering.  It will save you the headache, cost and effort of refactoring your code at a later date when you find that your application does not scale as well as you thought it would.  What about proprietary &lt;a href="http://en.wikipedia.org/wiki/Commercial_off-the-shelf"&gt;COTS&lt;/a&gt; applications, for which you don't have the source code?  Well, let's just hope that your friendly neighbourhood proprietary COTS vendor had the foresight to design the application with clustering in mind!&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;--&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;Manik Surtani&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;Lead, JBoss Cache&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-5246109722315852654?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/5246109722315852654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=5246109722315852654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5246109722315852654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/5246109722315852654'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/12/republished-myth-of-transparent.html' title='Republished: The Myth of Transparent Clustering'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-1736482015431455230</id><published>2007-11-06T12:57:00.000Z</published><updated>2008-01-28T10:59:01.063Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cayenne'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='alegrias'/><title type='text'>New JBoss Cache releases</title><content type='html'>Over the weekend we've released JBoss Cache 2.1.0.CR1 (&lt;span style="font-style: italic;"&gt;Alegrias&lt;/span&gt;) as well as a patch release on &lt;span style="font-style: italic;"&gt;Cayenne&lt;/span&gt;, 1.4.1.SP6.&lt;br /&gt;&lt;br /&gt;Anyone using the 1.4.x series, especially with buddy replication, is encouraged to upgrade to this patch release.&lt;br /&gt;&lt;br /&gt;In addition, I'd encourage everyone to download and try out &lt;span style="font-style: italic;"&gt;Alegrias&lt;/span&gt;, especially if you use 2.0.0 &lt;span style="font-style: italic;"&gt;Habanero&lt;/span&gt;.  Your feedback on this release is very important, as we hope this is a natural upgrade path from &lt;span style="font-style: italic;"&gt;Habanero&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The downloads are available on the &lt;a href="http://labs.jboss.com/jbosscache/download"&gt;JBoss Cache downloads page&lt;/a&gt;, and the docs on the &lt;a href="http://labs.jboss.com/jbosscache/docs"&gt;JBoss Cache docs page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy,&lt;br /&gt;&lt;br /&gt;Manik Surtani&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-1736482015431455230?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/1736482015431455230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=1736482015431455230' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1736482015431455230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1736482015431455230'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/11/new-jboss-cache-releases.html' title='New JBoss Cache releases'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-4272425970725650733</id><published>2007-10-18T13:26:00.000+01:00</published><updated>2008-01-28T10:58:42.118Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='alegrias'/><title type='text'>JBoss Cache 2.1.0 Alegrias is in BETA1</title><content type='html'>JBoss Cache 2.1.0.BETA1 has just been released.  This is an incremental release on the 2.x series.&lt;br /&gt;&lt;br /&gt;The download is available on the &lt;a href="http://labs.jboss.com/jbosscache/download"&gt;JBoss Cache downloads page&lt;/a&gt;, and the docs on the &lt;a href="http://labs.jboss.com/jbosscache/docs"&gt;JBoss Cache docs page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Your feedback on this release is much appreciated!&lt;br /&gt;&lt;br /&gt;Enjoy,&lt;br /&gt;&lt;br /&gt;Manik Surtani&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-4272425970725650733?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/4272425970725650733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=4272425970725650733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/4272425970725650733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/4272425970725650733'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/10/jboss-cache-210-alegrias-is-in-beta1.html' title='JBoss Cache 2.1.0 Alegrias is in BETA1'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-3485117724072901774</id><published>2007-10-08T19:53:00.000+01:00</published><updated>2008-01-28T11:02:41.961Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentations'/><title type='text'>Manik Surtani @ GrailsExchange</title><content type='html'>Guys n' Gals,&lt;br /&gt;&lt;br /&gt;I'll be speaking on Advanced JBoss Cache usage at &lt;a href="http://www.grails-exchange.com/"&gt;Grails Exchange&lt;/a&gt; in London later this month.   Grails Exchange runs from  Wednesday the 17th of October to Friday the 19th of October, inclusive, and my talk is scheduled for Thursday the 18th of October, at  15:10.&lt;br /&gt;&lt;br /&gt;I hope to cover an architectural and design overview of JBoss Cache, speak about how it is typically used in other applications and products, explain a bit about the new 2.x series APIs, and describe what we have in store for the future.&lt;br /&gt;&lt;br /&gt;Hope to see you there!&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-3485117724072901774?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/3485117724072901774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=3485117724072901774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3485117724072901774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3485117724072901774'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/10/manik-surtani-grailsexchange.html' title='Manik Surtani @ GrailsExchange'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-2828584195516799673</id><published>2007-10-08T19:47:00.000+01:00</published><updated>2008-01-28T10:59:58.206Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='hudson'/><title type='text'>Hudson at last!</title><content type='html'>So we've finally got a public &lt;a href="https://hudson.dev.java.net/"&gt;Hudson&lt;/a&gt; instance running for JBoss Cache to replace &lt;a href="http://cruisecontrol.sourceforge.net/"&gt;CruiseControl&lt;/a&gt;, which went out with our migration from CVS to SVN.  And what a long wait too - whew!&lt;br /&gt;&lt;br /&gt;So at last, you can now view build status and test results on the &lt;a href="http://hudson.jboss.org/hudson/view/JBoss%20Cache"&gt;JBoss.ORG public Hudson instance&lt;/a&gt; (now to get it to expose additional source analyses like FindBugs results, etc!)&lt;br /&gt;&lt;br /&gt;Enjoy, people!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-2828584195516799673?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/2828584195516799673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=2828584195516799673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2828584195516799673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2828584195516799673'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/10/hudson-at-last.html' title='Hudson at last!'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-8618857444619281797</id><published>2007-09-28T12:10:00.000+01:00</published><updated>2008-01-28T10:59:45.179Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cayenne'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>JBoss Cache 1.4.1.SP5 released</title><content type='html'>A service pack on JBoss Cache 1.4.1, SP5, has just been released, fixing 2 pretty important bugs.  I'd recommend anyone on the 1.x series upgrade to 1.4.1.SP5.&lt;br /&gt;&lt;br /&gt;The download is available on the &lt;a href="http://labs.jboss.com/jbosscache/download"&gt;JBoss Cache downloads page&lt;/a&gt;, and the docs on the &lt;a href="http://labs.jboss.com/jbosscache/docs"&gt;JBoss Cache docs page&lt;/a&gt;.  Talk about this release on the &lt;a href="http://jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;JBoss Cache user forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy,&lt;br /&gt;&lt;br /&gt;Manik Surtani&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-8618857444619281797?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/8618857444619281797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=8618857444619281797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/8618857444619281797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/8618857444619281797'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/09/jboss-cache-141sp5-released.html' title='JBoss Cache 1.4.1.SP5 released'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-2410301480416064713</id><published>2007-08-21T18:30:00.000+01:00</published><updated>2008-01-28T11:00:15.644Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='month of bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='MOB'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>Month of Bugs - results</title><content type='html'>The recently-run Month of Bugs has proved to be a very useful tool in helping get a lot of testing and hardening on the &lt;span style="font-style: italic; font-weight: bold;"&gt;Habanero&lt;/span&gt; CRs leading up to releasing.&lt;br /&gt;&lt;br /&gt;As promised, prize winners have now been contacted, and I'd like to thank you all for your valuable contributions and participation.  I do see this mechanism as a useful and effective thing to do prior to major releases, and quite possibly something we'd repeat in the future.  :-)&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-2410301480416064713?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/2410301480416064713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=2410301480416064713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2410301480416064713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2410301480416064713'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/08/month-of-bugs-results.html' title='Month of Bugs - results'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-6563228950013334212</id><published>2007-08-21T16:55:00.000+01:00</published><updated>2008-01-28T11:00:26.866Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>Full time dev on JBoss Cache</title><content type='html'>Red Hat has just hired contributor and committer Mircea Markus to work on JBoss Cache full-time.  Much needed as well, given the roadmap for 2.1.0, 3.0.0, etc.  :-)&lt;br /&gt;&lt;br /&gt;Welcome aboard Mircea, viva "professional open source"!&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-6563228950013334212?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/6563228950013334212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=6563228950013334212' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/6563228950013334212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/6563228950013334212'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/08/full-time-dev-on-jboss-cache.html' title='Full time dev on JBoss Cache'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-2499995267298596660</id><published>2007-08-19T12:24:00.000+01:00</published><updated>2008-01-28T11:00:42.298Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='habanero'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>Hidden gems in JBoss Cache 2.0.0.GA</title><content type='html'>JBoss Cache 2.0.0.GA is out and as you can see from Manik's &lt;a href="http://jbosscache.blogspot.com/2007/08/jboss-cache-changes.html"&gt;last entry&lt;/a&gt;, we're already moving forward...and fast. Before JBoss Cache 2.0 is forgotten, let's have a quick glance at some hidden gems that came within it:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.- Singleton Cache Store Functionality&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cache stores are backend stores for data handled within JBoss Cache. Until now, the main two strategies to configure these cache stores were:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;sharing a cache store between all JBoss Cache instances.&lt;/li&gt;&lt;li&gt;each instance having its own cache store.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Each strategy has its own caveats. For example, what if an user wanted to use a file based shared cache store, but the file system (i.e. shared NFS) did not support concurrent access/updates to it? An alternative solution would have been to configure JBoss Cache so that for each instance to had its own cache store. However, the user would have gone from having to manage/maintain one cache store to having to maintain N cache stores. Singleton Cache Store functionality was designed and developed to respond to the demands of such end users.&lt;br /&gt;&lt;br /&gt;When cache loaders, which interact with cache stores, are configured for singleton store, only the JBoss Cache instance in the coordinator of cluster interacts with the cache store. The rest of nodes replicate changes to the coordinator which is in charge of putting them in the store. When such coordinator leaves the cluster, or stops working, a new coordinator is elected which takes charge of communicating with the cache store. This allows for only one JBoss Cache instance to interact with the cache store at a time.&lt;br /&gt;&lt;br /&gt;More information on Singleton Cache Store functionality and configuration options can be found in the JBoss Cache 2.0 &lt;a href="http://labs.jboss.com/file-access/default/members/jbosscache/freezone/docs/2.0.0.GA/JBossCache-UserGuide/en/html_single/index.html"&gt;documentation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.- Transforming Cache Loaders&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In JBoss Cache 2.0, the format of the data stored in the File and JDBC cache loaders has been changed so that it uses the JBoss Cache marshaling framework, created to improve replication efficiency, to format data to be stored in these cache stores.&lt;br /&gt;&lt;br /&gt;At JBoss, division of Red Hat, we think about our product's end users and when implementing such data format change, we realised that some of JBoss Cache's users might have populated cache stores in JBoss Cache 1.x format. Even though JBoss Cache 2.0 is a major release, we wanted to provide our a way to transform existing cache stores from 1.x format to 2.x format. Because of this, we created a set of one-off Transforming Cache Loaders whose job is:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;read data from cache stores the way we did in JBoss Cache 1.x&lt;/li&gt;&lt;li&gt;write data to cache stores in JBoss Cache 2.x format.&lt;/li&gt;&lt;/ul&gt;Together with this, an example was created which recursively reads the contents of the cache store via these Transforming Cache Loaders, and stores the data read back into the cache store. Just run this example with the parameters of your cache loader and the entire cache store will be transformed.&lt;br /&gt;&lt;br /&gt;The Transforming Cache Loaders, necessary libraries to understand JBoss Cache 1.x and example mentioned can be found within the JBoss Cache 2.0.0.GA distribution ZIP file that can be downloaded from &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=22866&amp;amp;package_id=102339&amp;amp;release_id=530779"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;More information on Transforming Cache Loaders can be found in the JBoss Cache 2.0 &lt;a href="http://labs.jboss.com/file-access/default/members/jbosscache/freezone/docs/2.0.0.GA/JBossCache-UserGuide/en/html_single/index.html"&gt;documentation&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-2499995267298596660?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/2499995267298596660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=2499995267298596660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2499995267298596660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/2499995267298596660'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/08/hidden-gems-in-jboss-cache-200ga.html' title='Hidden gems in JBoss Cache 2.0.0.GA'/><author><name>Galder Zamarreno</name><uri>http://www.blogger.com/profile/14723188368981659001</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-8127229195502989939</id><published>2007-08-15T13:50:00.000+01:00</published><updated>2007-08-15T14:15:29.883+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven2'/><category scheme='http://www.blogger.com/atom/ns#' term='habanero'/><category scheme='http://www.blogger.com/atom/ns#' term='testng'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><category scheme='http://www.blogger.com/atom/ns#' term='alegrias'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>JBoss Cache changes</title><content type='html'>Since releasing &lt;span style="font-weight: bold; font-style: italic;"&gt;Habanero&lt;/span&gt;, I've been busy changing a few things around the way the source tree is managed (it was getting pretty messy).  Basically, a lot of this revolves around &lt;a href="http://jira.jboss.com/jira/browse/JBCACHE-1142"&gt;JBCACHE-1142&lt;/a&gt; which involves a number of changes.  Let's take these one at a time.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.  Source code repository&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;We've moved from CVS to subversion.  Still hosted on JBoss.org though, the main driver behind this was to be able to move files and directory structures around and not lose revision history.&lt;br /&gt;&lt;br /&gt;Details of how to access the new repository are on the &lt;a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossCacheDevelopment"&gt;JBoss Cache wiki&lt;/a&gt; - committer rights have been carried across from CVS.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.  Structure&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We've split POJO Cache into a separate module for easier dependency management.  So now jbosscache-core and jbosscache-pojo can be built separately.  See the wiki link above for more details.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3.  Build tool&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We've ditched ant in favour of Maven2.  This affects the way the project is built and the way deliverables are created, but makes dependency management that much easier.  So after a few hair-tearing days getting it to behave just the way I wanted it, we're finally ready here.  Details of how to use Maven2 to build JBoss Cache are in the &lt;a href="http://fisheye.jboss.com/browse/JBossCache/core/trunk/README-Maven.txt?r=4259"&gt;README-maven.txt&lt;/a&gt; file in the src tree.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.  TestNG&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We're in the process of ditching the ageing JUnit 3.8-based test suite in favour of one based on TestNG.  The reason behind this decision is so we can group and parameterise tests better, so that more combinations are tested (E.g., a test can be annotated as transactional and using a cache loader, and the test will be run with every combination of cache loader and transaction manager configured in the suite).  The end result here will be a much more robust and well-tested product.&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5.  Preferred distribution&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;While we will still upload ZIPs onto SourceForge, we're trying to encourage users to use JBoss Cache using our &lt;a href="http://repository.jboss.org/maven2/"&gt;Maven2 repository&lt;/a&gt; (and &lt;a href="http://snapshots.jboss.org/maven2/"&gt;snapshot repo&lt;/a&gt;), to make dependency management easier. &lt;br /&gt;&lt;br /&gt;An important point to note is that we've also standardised the &lt;span style="font-weight: bold;"&gt;groupId&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;artifactId&lt;/span&gt; used to &lt;span style="font-weight: bold;"&gt;org.jboss.cache&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;jbosscache-core&lt;/span&gt; (or &lt;span style="font-weight: bold;"&gt;jbosscache-pojo&lt;/span&gt;) respectively.&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;6.  JBoss Cache 2.1.0 &lt;span style="font-style: italic;"&gt;Alegrias&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I had asked for suggestions for naming JBoss Cache 2.1.0 on the dev mail list, and have decided on Alegrias, courtesy of Galder Zamarreno.  From Galder's email:&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;It's a type of very spicy chilli pepper from La Rioja in Spain, the same region from which the best spanish red wine comes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thetapaslunchcompany.co.uk/products/vegetables/COR2101"&gt;http://www.thetapaslunchcompany.co.uk/products/vegetables/COR2101&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Alegrias means happiness in plural, but in this case, they're trying to highlight tears of happiness ;)&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;So with that, I'd like to thank everyone who helped with &lt;span style="font-weight: bold; font-style: italic;"&gt;Habanero&lt;/span&gt; and look forward to your participation on &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Algerias&lt;/span&gt;.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Manik Surtani&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-8127229195502989939?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/8127229195502989939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=8127229195502989939' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/8127229195502989939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/8127229195502989939'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/08/jboss-cache-changes.html' title='JBoss Cache changes'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-1366384100116474277</id><published>2007-08-08T17:36:00.000+01:00</published><updated>2008-01-28T11:01:00.249Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='habanero'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>JBoss Cache 2.0.0 (Habanero) in GA</title><content type='html'>Habanero's finally in GA.  Thanks to everyone who waited patiently for this major release, and to everyone who contributed - in code, patches, docs, bug reports, suggestions, testing, everything.&lt;br /&gt;&lt;br /&gt;A lot of credit goes to Jason Greene, who joined as POJO Cache lead midway during Habanero development.  Without his efforts we wouldn't have a stable POJO Cache release!&lt;br /&gt;&lt;br /&gt;This is a milestone for JBoss Cache, where we move to a new, much more flexible and powerful API, and better support for running outside of JBoss AS, either in standalone Java SE or other containers.&lt;br /&gt;&lt;br /&gt;We will also soon be announcing winners in the recent "month of bugs" competition, so watch this space.&lt;br /&gt;&lt;br /&gt;There is a brand new user guide and tutorial, please do give these a go even if you are an experienced JBoss Cache user.&lt;br /&gt;&lt;br /&gt;Please visit the JBoss Cache &lt;a href="http://labs.jboss.org/jbosscache/download/index.html"&gt;downloads page&lt;/a&gt;, &lt;a href="http://labs.jboss.org/jbosscache/docs/index.html"&gt;docs page&lt;/a&gt; and discuss this release on the &lt;a href="http://jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;user forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Manik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-1366384100116474277?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/1366384100116474277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=1366384100116474277' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1366384100116474277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/1366384100116474277'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/08/jboss-cache-200-habanero-in-ga.html' title='JBoss Cache 2.0.0 (Habanero) in GA'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-9051936948092414234</id><published>2007-07-27T15:49:00.001+01:00</published><updated>2008-01-28T11:01:12.000Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cayenne'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>JBoss Cache 1.4.1.SP4 released</title><content type='html'>We've just released a service pack release on eht 1.4.1 &lt;span style="font-weight: bold; font-style: italic;"&gt;Cayenne&lt;/span&gt; series, with some pretty important bug fixes on concurrent node removal and creation when using optimistic locking as well as some pretty big cache loader concurrency improvements, backported from the 2.0.0 series.&lt;br /&gt;&lt;br /&gt;I'd recommend anyone on the 1.4.x series to upgrade to this latest service pack - especially if you use optimistic locking!&lt;br /&gt;&lt;br /&gt;The download is available on the &lt;a href="http://labs.jboss.com/jbosscache/download"&gt;JBoss Cache downloads page&lt;/a&gt;, and the docs on the &lt;a href="http://labs.jboss.com/jbosscache/docs"&gt;JBoss Cache docs page&lt;/a&gt;.  Talk about this release on the &lt;a href="http://jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;JBoss Cache user forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Manik Surtani&lt;/span&gt;&lt;br /&gt;Project Lead, JBoss Cache&lt;br /&gt;&lt;a href="http://labs.jboss.org/jbosscache"&gt;http://labs.jboss.org/jbosscache&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-9051936948092414234?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/9051936948092414234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=9051936948092414234' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/9051936948092414234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/9051936948092414234'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/07/jboss-cache-141sp4-released.html' title='JBoss Cache 1.4.1.SP4 released'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-7002854872186393101</id><published>2007-07-10T17:44:00.000+01:00</published><updated>2008-01-28T11:01:29.335Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='habanero'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>JBoss Cache 2.0.0.CR3 released</title><content type='html'>JBoss Cache 2.0.0.CR3 has just been released.&lt;br /&gt;&lt;br /&gt;This release includes a fair number of performance and stability improvements in the 2.0.0 codebase, and includes a new annotation-based API for working with cache listeners.&lt;br /&gt;&lt;br /&gt;Please refer to the User Guide on the JBoss Cache docs page for details of this new API.&lt;br /&gt;&lt;br /&gt;And remember, the &lt;a style="font-style: italic;" href="http://labs.jboss.com/jbosscache/monthOfBugs/index.html"&gt;Month of Bugs&lt;/a&gt; is still running, with prizes up for grabs for the most valuable contributions to 2.0.0.GA.&lt;br /&gt;&lt;br /&gt;The download is available on the &lt;a href="http://labs.jboss.com/jbosscache/download"&gt;JBoss Cache downloads page&lt;/a&gt;, and the docs on the &lt;a href="http://labs.jboss.com/jbosscache/docs"&gt;JBoss Cache docs page&lt;/a&gt;.  As usual, discuss this release on the &lt;a href="http://jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;JBoss Cache user forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Manik Surtani&lt;/span&gt;&lt;br /&gt;Project Lead, JBoss Cache&lt;br /&gt;&lt;a href="http://labs.jboss.org/jbosscache"&gt;http://labs.jboss.org/jbosscache&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-7002854872186393101?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/7002854872186393101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=7002854872186393101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7002854872186393101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7002854872186393101'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/07/jboss-cache-200cr3-released.html' title='JBoss Cache 2.0.0.CR3 released'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-121615930094871514</id><published>2007-06-29T13:03:00.000+01:00</published><updated>2008-01-28T11:01:44.424Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='month of bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='MOB'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>Month of Bugs extended</title><content type='html'>Never mind the misleading name, the "Month of Bugs" for JBoss Cache will basically run all the way through to the GA date, which will probably be towards the end of July.&lt;br /&gt;&lt;br /&gt;Just so people know that the competition is still open.  :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-121615930094871514?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/121615930094871514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=121615930094871514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/121615930094871514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/121615930094871514'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/06/month-of-bugs-extended.html' title='Month of Bugs extended'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-7110409709501173303</id><published>2007-06-03T14:52:00.000+01:00</published><updated>2008-01-28T11:02:00.474Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='month of bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='MOB'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>Month of Bugs - June 2007</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://labs.jboss.com/jbosscache/monthOfBugs/index.html"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://labs.jboss.com/file-access/default/theme/images/common/home_callout_jbosscache_mob.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This weekend we've launched the &lt;span style="font-style: italic;"&gt;Month of Bugs&lt;/span&gt; competition for JBoss Cache.  With just over a month to go before the planned release of JBoss Cache 2.0.0 &lt;span style="font-style: italic; font-weight: bold;"&gt;Habanero&lt;/span&gt;, we'd like to invite the community to take part in this competition.  &lt;p&gt;Contributions are welcome in all areas including bug fixes, unit tests, documentation and wiki articles, with the best ones receiving prizes delivered on the date of the final release. &lt;/p&gt;Do visit the &lt;a href="http://labs.jboss.com/jbosscache/monthOfBugs/index.html"&gt;JBoss Cache Month of Bugs page&lt;/a&gt; for details.  Looking forward to your participation!&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Manik Surtani&lt;/span&gt;&lt;br /&gt;Project Lead, JBoss Cache&lt;br /&gt;&lt;a href="http://labs.jboss.org/jbosscache"&gt;http://labs.jboss.org/jbosscache&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-7110409709501173303?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/7110409709501173303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=7110409709501173303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7110409709501173303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/7110409709501173303'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/06/month-of-bugs-june-2007.html' title='Month of Bugs - June 2007'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-3946640780218794015</id><published>2007-06-02T00:50:00.000+01:00</published><updated>2008-01-28T11:02:14.731Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='habanero'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>JBoss Cache 2.0.0 enters CR2</title><content type='html'>JBoss Cache 2.0.0 &lt;span style="font-weight: bold; font-style: italic;"&gt;Habanero&lt;/span&gt; has just been released as a CR2.  I expect at least another 2 CRs before going GA, the last CR containing a GA of JGroups 2.5.0, with its impressive new "concurrent stack".  (See &lt;a href="http://jira.jboss.com/jira/browse/JGRP-181"&gt;JGRP-181&lt;/a&gt; for details on this).&lt;br /&gt;&lt;br /&gt;Over the weekend we will also launch the &lt;span style="font-style: italic;"&gt;Month of Bugs&lt;/span&gt; for JBoss Cache 2.0.0 &lt;span style="font-style: italic; font-weight: bold;"&gt;Habanero&lt;/span&gt;, where we hope to promote people downloading and using Habanero CRs in their environments and use cases, and feeding back as much as possible, to make the GA of Habanero rock solid.  More on the &lt;span style="font-style: italic;"&gt;Month of Bugs&lt;/span&gt; later.&lt;br /&gt;&lt;br /&gt;One significant point about CR2 is that performance has been significantly improved.  People have complained on the user forums that CR1 was considerably slower than the 1.4.x series (1.4.1 &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Cayenne&lt;/span&gt;&lt;/span&gt;, our fastest release to date), almost as slow as the 1.3.x &lt;span style="font-weight: bold; font-style: italic;"&gt;Wasabi&lt;/span&gt; series.  After extensive profiling, I'm happy to say that in the basic use cases and tests performed so far, &lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;Habanero&lt;/span&gt; &lt;/span&gt;CR2 outperforms &lt;span style="font-weight: bold; font-style: italic;"&gt;Cayenne&lt;/span&gt;by almost 20%.  I expect to publish more formal statistics comparing with &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Cayenne&lt;/span&gt;&lt;/span&gt; by the time CR3 is out.&lt;br /&gt;&lt;br /&gt;So all in, an interesting release and you are encouraged to download and give it a go.  The download is available on the &lt;a href="http://labs.jboss.com/jbosscache/download"&gt;JBoss Cache downloads page&lt;/a&gt;, and the docs on the &lt;a href="http://labs.jboss.com/jbosscache/docs"&gt;JBoss Cache docs page&lt;/a&gt;.  As usual, discuss this release on the &lt;a href="http://jboss.org/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=157"&gt;JBoss Cache user forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Manik Surtani&lt;/span&gt;&lt;br /&gt;Project Lead, JBoss Cache&lt;br /&gt;&lt;a href="http://labs.jboss.org/jbosscache"&gt;http://labs.jboss.org/jbosscache&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-3946640780218794015?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/3946640780218794015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=3946640780218794015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3946640780218794015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/3946640780218794015'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/06/jboss-cache-200-enters-cr2.html' title='JBoss Cache 2.0.0 enters CR2'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2526530296860697225.post-8200464144509112647</id><published>2007-06-01T23:50:00.000+01:00</published><updated>2008-01-28T11:02:26.522Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss cache'/><title type='text'>Blogging on blogspot.com</title><content type='html'>Instead of blogging on my "official" company blog at JBoss - where I'd usually talk about stuff related to JBoss Cache and such tech related topics, I've decided to move to blogspot.com.&lt;br /&gt;&lt;br /&gt;Why?  Mainly because I like the editing interface.  Also, because I reckon it will get more readership and articles will still be syndicated on the JBoss Cache page on JBoss.org.&lt;br /&gt;&lt;br /&gt;Anyway, I've just set this up, real content is on it's way.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Manik Surtani&lt;/span&gt;&lt;br /&gt;Project Lead, JBoss Cache&lt;br /&gt;&lt;a href="http://labs.jboss.org/jbosscache"&gt;http://labs.jboss.org/jbosscache&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2526530296860697225-8200464144509112647?l=blog.jbosscache.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jbosscache.org/feeds/8200464144509112647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2526530296860697225&amp;postID=8200464144509112647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/8200464144509112647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2526530296860697225/posts/default/8200464144509112647'/><link rel='alternate' type='text/html' href='http://blog.jbosscache.org/2007/06/blogging-on-blogspotcom.html' title='Blogging on blogspot.com'/><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg'/></author><thr:total>0</thr:total></entry></feed>
