#294 ✓closed
Ben Hood

Persist session events

Reported by Ben Hood | July 14th, 2011 @ 05:33 PM

We need to persist session events for a number of use cases:

  • So that not all events of all need to be kept in memory;
  • It allows persistent state to be recorded against difference events (e.g. #295)
  • Escalations require lifecycle context for events that occurred on a given entity over time (see #274);

A potential design for this might be:

  • Tackle first:
    • #269 to get domains
    • #298 to clean up the session manager from scan calls
    • #325 to get rid of SessionScope (potentially this might have to be part of this patch though)
    • #332 to streamline different event processing
  • Rename the SessionManager to be a DifferenceManager
  • Everything that exits the matching manager is created as a persistent difference
  • Live difference events are stored using Hibernate
  • The table contains the same structure as the current SessionEvent bean, with the following change:
    • The Difference has composite key based on the sequence id and domain id. It still contains the reference to the pair.

To persist differences found during a scan, the process implemented in #332 should just be made persistent.

The advantages of this technique is that it doesn't require holding all differences in memory at any point, and has processing complexity relative to the number of differences, not the number of entities.

Comments and changes to this ticket

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

A Real Time Differencing Tool.

Shared Ticket Bins

People watching this ticket

Pages