See the first few sentences of http://labs.jboss.com/file-access/default/members/jbosscache/freezone/docs/2.0.0.GA/JBossCache-UserGuide/en/html/cache_loaders.html for an explanation of what happens when passivation=false. Section 8.4 covers the passivation=true case.
Yes, I understand the true case, but I didn't find information about the false case. I couldn't derive the information from the first few sentences of the section. I would assume passivation doesn't take place. So, I guess it is just a switch to turn passivation on and off. It is for convenience?
Okay, I think I understand. When passivation is false, passivation doesn't take place, but activation does . . . ? So, elements are prestored in the data store and activated as accessed?
For passivation=false, key sentence in the doc is "Whenever an element is modified, added or removed, then that modification is persisted in the backend store via the cache loader." There's no direct relationship between eviction and cache loading. If you don't use eviction, what's in the persistent store is basically a copy of what's in memory. If you do use eviction, what's in the persistent store is basically a superset of what's in memory (includes nodes that have been evicted).
For passivation=true, there is a direct relationship between eviction and the cache loader. Writes to the persistent store via the cache loader only occur as part of the eviction process. In this case, what's in memory and what's in the persistent store are two subsets of the total information set, with no intersection between the subsets.
Quick example, showing what state is in RAM and in the persistent store after each step of a 6 step process:
1) Insert /A
2) Insert /B
3) Eviction thread runs, evicts /A
4) Read /A
5) Eviction thread runs, evicts /B
6) Remove /B
1) RAM: /A Disk: /A
2) RAM: /A, /B Disk: /A, /B
3) RAM: /B Disk: /A, /B
4) RAM: /A, /B Disk: /A, /B
5) RAM: /A Disk: /A, /B
6) RAM: /A Disk: /A
1) RAM: /A Disk:
2) RAM: /A, /B Disk:
3) RAM: /B Disk: /A
4) RAM: /A, /B Disk:
5) RAM: /A Disk: /B
6) RAM: /A Disk:
That's very clear now!! I'm glad I asked! I just didn't get this information from the documentation. Thank you very much for the clear explanation!
No problem; glad you asked. :-) When I sent you to the docs, it wasn't a polite way to say "RTFM"; I was more curious to see if the docs were clear enough. They weren't; I'll add some of the stuff from this thread to them.