|
Home > Archive > Apache JDO Project > May 2006 > huge volumes and flush
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
huge volumes and flush
|
|
| Erik Bengtson 2006-05-24, 1:11 pm |
|
Hi,
In case of huge amount of objects loaded /persisted, the flush method is for
this purpose. I wonder how the cache/state management can be implemented
without breaking JDO contract and capable to handle load, any tips?
Thanks
Erik Bengtson
| |
| Craig L Russell 2006-05-24, 7:11 pm |
| | |
| Erik Bengtson 2006-05-29, 4:56 pm |
| Thanks Craig,
I works now.
Quoting Craig L Russell <Craig.Russell@Sun.COM>:
> Hi Erik,
>
> Generally, use weak references to persistent instances so they can be
> garbage collected when the user no longer holds a strong reference to
> them. Unflushed dirty instances need to be referenced strongly so
> they are not garbage collected. So at flush time, move the flushed
> dirty instances from a strong-reference map to a weak-reference map
> (key = oid, value = weak-reference object).
>
> Craig
>
> On May 24, 2006, at 7:21 AM, Erik Bengtson wrote:
>
>
> Craig Russell
> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
> 408 276-5638 mailto:Craig.Russell@sun.com
> P.S. A good JDO? O, Gasp!
>
>
| |
| Michael Bouschen 2006-05-29, 4:56 pm |
| Hi Erik,
most probably you know already: class WeakHashMap from java.util does
not help when implementing the map of flushed instances. The WeakHashMap
uses a WeakReference for the key, but it strongly references the value
which is the flushed instance in your case. You need a map
implementation that maintains a strong reference to the key, but a weak
reference to the value. Just in case you are interested: there is a
tested implementation in the core20 module of the apache jdo repository.
The class is called WeakValueHashMap and you find it under
core20/src/java/org/apache/jdo/util.
Regards Michael
> Thanks Craig,
>
> I works now.
>
> Quoting Craig L Russell <Craig.Russell@Sun.COM>:
>
>
>
>
>
--
Michael Bouschen Tech@Spree Engineering GmbH
mailto:mbo.tech@spree.de http://www.tech.spree.de/
Tel.:++49/30/235 520-33 Buelowstr. 66
Fax.:++49/30/2175 2012 D-10783 Berlin
|
|
|
|
|