<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 17 Dec 2009, at 12:43, philippe van dyck wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi all,<div><br></div><div>i am searching for the perfect configuration on EC2 and I have a question about the asynchronous operations.</div><div><br></div><div>I would like to chain two caches 1) one filecache 2) one s3cache.</div></div></blockquote><div><br></div><div>Keep in mind the S3CacheStore will (soon) be replaced with a CloudCacheStore. &nbsp;More generic and based on better JClouds APIs.</div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>I would also like the transaction to return ASAP when the filecache has committed, and the s3cache to commit the same transaction, but asynchronously.</div><div><br></div><div>Is it 'configurable' ?</div><div><br></div><div>Right now I use this ... but it is not working (I have to wait for the s3cache to finish what it seems to be an async operation)</div></div></blockquote><div><br></div><div>Your cfg *should* do as you expect, due to the &lt;async &gt; element in the 2nd store. &nbsp;Perhaps you could write a unit test to prove this, along the lines of&nbsp;ChainingCacheLoaderTest in trunk, to ensure that one CS blocks and the other does not (maybe using 2 different DumyCacheStores, or mocks)?</div><div><br></div><div>Cheers</div><div>Manik</div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><font class="Apple-style-span" color="#009693" face="Monaco" size="3"><span class="Apple-style-span" style="font-size: 11px;"><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="font-size: medium;"><br></span></font></span></font></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><font class="Apple-style-span" color="#009693"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><span style="color: #009693">&lt;</span><span style="color: #2e9492">infinispan</span><span style="color: #000000"> </span><span style="color: #a30094">xmlns:xsi</span><span style="color: #dbcaba">=</span>"<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: #a30094">xmlns</span><span style="color: #dbcaba">=</span>"urn:infinispan:config:4.0"<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: #009693">&lt;</span>global<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #009693">&lt;</span>transport</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">                        </span></span><span style="color: #a30094">transportClass</span><span style="color: #dbcaba">=</span>"org.infinispan.remoting.transport.jgroups.JGroupsTransport"<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                        </span></span><span style="color: #009693">&lt;</span>properties<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                                </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">property</span><span style="color: #000000"> </span><span style="color: #a30094">name</span><span style="color: #dbcaba">=</span>"configurationFile"<span style="color: #000000"> </span><span style="color: #a30094">value</span><span style="color: #dbcaba">=</span>"jgroups.xml"<span style="color: #000000"> </span><span style="color: #009693">/&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                        </span></span><span style="color: #009693">&lt;/</span>properties<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #009693">&lt;/</span>transport<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: #009693">&lt;/</span>global<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: #009693">&lt;</span>default<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #009693">&lt;</span>transaction</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">                        </span></span><span style="color: #a30094">transactionManagerLookupClass</span><span style="color: #dbcaba">=</span>"org.infinispan.transaction.lookup.DummyTransactionManagerLookup"<span style="color: #000000"> </span><span style="color: #009693">/&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">clustering</span><span style="color: #000000"> </span><span style="color: #a30094">mode</span><span style="color: #dbcaba">=</span>"distribution"<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(163, 0, 148); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                        </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">l1</span><span style="color: #000000"> </span>enabled<span style="color: #dbcaba">=</span><span style="color: #5000ff">"true"</span><span style="color: #000000"> </span>lifespan<span style="color: #dbcaba">=</span><span style="color: #5000ff">"100000"</span><span style="color: #000000"> </span><span style="color: #009693">/&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(163, 0, 148); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                        </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">hash</span><span style="color: #000000"> </span>numOwners<span style="color: #dbcaba">=</span><span style="color: #5000ff">"2"</span><span style="color: #000000"> </span>rehashRpcTimeout<span style="color: #dbcaba">=</span><span style="color: #5000ff">"120000"</span><span style="color: #000000"> </span><span style="color: #009693">/&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #009693">&lt;/</span>clustering<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><span class="Apple-style-span" style="color: rgb(163, 0, 148); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">loaders</span><span style="color: #000000"> </span>passivation<span style="color: #dbcaba">=</span><span style="color: #5000ff">"false"</span><span style="color: #000000"> </span>shared<span style="color: #dbcaba">=</span><span style="color: #5000ff">"true"</span><span style="color: #000000"> </span>preload<span style="color: #dbcaba">=</span><span style="color: #5000ff">"false"</span><span style="color: #009693">&gt;</span></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                        </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">loader</span><span style="color: #000000"> </span><span style="color: #a30094">class</span><span style="color: #dbcaba">=</span>"org.infinispan.loaders.file.FileCacheStore"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(163, 0, 148); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">                                </span></span>fetchPersistentState<span style="color: #dbcaba">=</span><span style="color: #5000ff">"true"</span><span style="color: #000000"> </span>ignoreModifications<span style="color: #dbcaba">=</span><span style="color: #5000ff">"false"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(163, 0, 148); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">                                </span></span>purgeOnStartup<span style="color: #dbcaba">=</span><span style="color: #5000ff">"true"</span><span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                                </span></span><span style="color: #009693">&lt;</span>properties<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                                        </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">property</span><span style="color: #000000"> </span><span style="color: #a30094">name</span><span style="color: #dbcaba">=</span>"location"<span style="color: #000000"> </span><span style="color: #a30094">value</span><span style="color: #dbcaba">=</span>"/tmp"<span style="color: #000000"> </span><span style="color: #009693">/&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                                </span></span><span style="color: #009693">&lt;/</span>properties<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                        </span></span><span style="color: #009693">&lt;/</span>loader<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                        </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">loader</span><span style="color: #000000"> </span><span style="color: #a30094">class</span><span style="color: #dbcaba">=</span>"org.infinispan.loaders.s3.S3CacheStore"</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(163, 0, 148); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">                                </span></span>fetchPersistentState<span style="color: #dbcaba">=</span><span style="color: #5000ff">"false"</span><span style="color: #000000"> </span>ignoreModifications<span style="color: #dbcaba">=</span><span style="color: #5000ff">"false"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(163, 0, 148); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">                                </span></span>purgeOnStartup<span style="color: #dbcaba">=</span><span style="color: #5000ff">"false"</span><span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                                </span></span><span style="color: #009693">&lt;</span>properties<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                                        </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">property</span><span style="color: #000000"> </span><span style="color: #a30094">name</span><span style="color: #dbcaba">=</span>"awsAccessKey"<span style="color: #000000"> </span><span style="color: #a30094">value</span><span style="color: #dbcaba">=</span>"***"<span style="color: #000000"> </span><span style="color: #009693">/&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                                        </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">property</span><span style="color: #000000"> </span><span style="color: #a30094">name</span><span style="color: #dbcaba">=</span>"awsSecretKey"<span style="color: #000000"> </span><span style="color: #a30094">value</span><span style="color: #dbcaba">=</span>"***"<span style="color: #000000"> </span><span style="color: #009693">/&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(80, 0, 255); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                                        </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">property</span><span style="color: #000000"> </span><span style="color: #a30094">name</span><span style="color: #dbcaba">=</span>"bucketPrefix"<span style="color: #000000"> </span><span style="color: #a30094">value</span><span style="color: #dbcaba">=</span>"store"<span style="color: #000000"> </span><span style="color: #009693">/&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                                </span></span><span style="color: #009693">&lt;/</span>properties<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(163, 0, 148); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                                </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">async</span><span style="color: #000000"> </span>enabled<span style="color: #dbcaba">=</span><span style="color: #5000ff">"true"</span><span style="color: #000000"> </span>threadPoolSize<span style="color: #dbcaba">=</span><span style="color: #5000ff">"10"</span><span style="color: #000000"> </span><span style="color: #009693">/&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                        </span></span><span style="color: #009693">&lt;/</span>loader<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #009693">&lt;/</span>loaders<span style="color: #009693">&gt;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><span class="Apple-style-span" style="color: rgb(163, 0, 148); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">eviction</span><span style="color: #000000"> </span>strategy<span style="color: #dbcaba">=</span><span style="color: #5000ff">"LRU"</span><span style="color: #000000"> </span>wakeUpInterval<span style="color: #dbcaba">=</span><span style="color: #5000ff">"10000"</span><span style="color: #000000"> </span>maxEntries<span style="color: #dbcaba">=</span><span style="color: #5000ff">"1000"</span><span style="color: #000000"> </span><span style="color: #009693">/&gt;</span></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><span class="Apple-style-span" style="color: rgb(163, 0, 148); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">                </span></span><span style="color: #009693">&lt;</span><span style="color: #2e9492">unsafe</span><span style="color: #000000"> </span>unreliableReturnValues<span style="color: #dbcaba">=</span><span style="color: #5000ff">"true"</span><span style="color: #000000"> </span><span style="color: #009693">/&gt;</span></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; "><span class="Apple-style-span" style="color: rgb(46, 148, 146); "><span style="color: #dbcaba"><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: #009693">&lt;/</span>default<span style="color: #009693">&gt;</span></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(46, 148, 146); "><span style="color: #009693">&lt;/</span>infinispan<span style="color: #009693">&gt;</span></div><div><br></div></font></div><div><font class="Apple-style-span" color="#009693" face="Monaco" size="3"><span class="Apple-style-span" style="font-size: 11px; "><br></span></font></div></div><div><br></div><div>Thanks,</div><div><br></div><div>Phil&nbsp;</div></div>_______________________________________________<br>infinispan-dev mailing list<br><a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>https://lists.jboss.org/mailman/listinfo/infinispan-dev</blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>--</div><div>Manik Surtani</div><div><a href="mailto:manik@jboss.org">manik@jboss.org</a></div><div>Lead, Infinispan</div><div>Lead, JBoss Cache</div><div><a href="http://www.infinispan.org">http://www.infinispan.org</a></div><div><a href="http://www.jbosscache.org">http://www.jbosscache.org</a></div><div><br></div></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br></body></html>