-
Notifications
You must be signed in to change notification settings - Fork 1
How it works
- Signalizer (AOP, dynamic proxy etc.)
- Transaction manager
- Session factory
- Bindings
- Data mappers (jaxb, jackson json, jdk serialization etc.)
The Signalizer, with the help of a aspect or an interception library, sends signals to the Transaction Manager when to open/close/discard a connection/transaction/pipeline. It basically binds to the execution of the method which should be managed.
The transaction manager manages the state of the connection and is always coupled with a Signalizer from which it receives the instructions to start, stop or abort a connection/transaction/pipeline.
The session factory basically creates Sessions. It's always coupled with a transaction manager from which the factory retrieves the connection bound to the current thread. The created session is always bound to a specific managed method by Redis Data, a key data mapper and a value data mapper. This ensures that the data types of the keys and values are always the same.
Bindings basically bind session factories with data mappers and command types.
Data mappers are bound to a java type. They tell Redis Data how to serialize/deserialize, marshall/unmarshall the data.