Use LRU-based caching for entities and emit EntityChanged events
The caching applies to entities handled through the
AbstractEntityService
, i.e. Room
s and ContentGroup
s for now.
WebSocket change events are now used to keep the cached entities up to date. When the entity service puts an entity to a cache, it subscribes to the coresponding STOMP topic to receive changes.
When the cache disposes of an entity, the entity service is notified and unsubscribes from the topic.
Furthermore, a new EntityChanged
event is emitted when entity changes
are received. This applies to entities handled through the
AbstractEntityService
, i.e. Room
s and ContentGroup
s for now.
Closes: #690 (closed)
Related: #689 (closed)