6 Replies Latest reply on Feb 4, 2007 10:56 PM by Elias Ross

    CacheListener events for state transfer marshalling

    Brian Stansberry Master

      There's no CacheListener event generated before a node is about to be marshalled for state transfer.

      Use case for this is EJB3 SFSB, where we are storing a bean context in the cache. EJB3 spec says we should invoke any prePassivate/postActivate callbacks the bean declares when we serialize/deserialize. These callbacks allow the bean to clean up it's state.

      There are 3 types of serialization involved: replication, serialization to disk as part of eviction/passivation, and state transfer. The first is easy for the EJB3/JBC integration layer, as it causes the replication. The second we handle during the CacheListener callbacks. But we have no hook to handle the third.

      This is kind of a specialized case, but then again maybe not. We have events for all the other significant stuff that happens to a node, except this one.