The VLINGO XOOM platform SDK delivering Reactive storage that is scalable, high-throughput, and resilient for CQRS, Event Sourcing, Key-Value, and Objects used by services and applications.
Most of the stores simply proxy the call to their persistent delegates and do nothing more.
With the introduction of io.vlingo.symbio.store.dispatch.Dispatchable the store has to have the mapping for it. Also a copy of the store delegate is usually used by DispatcherControlActor actor. More details in this discussion: https://github.com/vlingo/vlingo-symbio-jdbc/pull/14#discussion_r301147391
It makes more sense to register the mapping directly with the persistent delegate.
The idea is to create an interface, for example ObjectStoreDelegate that defines the registerMapper implementation.
This will allow the clients to register all the necessary mappings, including the one for io.vlingo.symbio.store.dispatch.Dispatchable before creating the actor.
With the new Object store delegate interface, the following projects must also be changed:
Curently the
ObjectStore
protocol defines a method used to register mapping for a given persistent type.Most of the stores simply proxy the call to their persistent delegates and do nothing more. With the introduction of
io.vlingo.symbio.store.dispatch.Dispatchable
the store has to have the mapping for it. Also a copy of the store delegate is usually used byDispatcherControlActor
actor. More details in this discussion: https://github.com/vlingo/vlingo-symbio-jdbc/pull/14#discussion_r301147391It makes more sense to register the mapping directly with the persistent delegate. The idea is to create an interface, for example
ObjectStoreDelegate
that defines theregisterMapper
implementation.This will allow the clients to register all the necessary mappings, including the one for
io.vlingo.symbio.store.dispatch.Dispatchable
before creating the actor.With the new Object store delegate interface, the following projects must also be changed: