Details
-
Task
-
Resolution: Done
-
Critical
-
JBossAS-4.0.4RC1
-
None
Description
AttributeBasedClusteredSession places attribute objects in the cache rather than a MarshalledValue. This means the attribute will be deserialized on all the other nodes with each replication, as opposed to only when the session is accessed on that node. But, putting the object itself in the cache saves a step in both putting it in the cache and in reading it out. So, there is a tradeoff. This is a tricky question, as the balance of the tradeoff may depend on the attribute type (e.g. a simple String or a primitive vs. a complex object). Need to do some testing to determine which strategy is optimal. A more nuanced strategy is also possible; e.g. directly put primitives and strings in the cache, for other types use the MarshalledValue.