Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

The session manager(IAquimaSessionsMap) is responsible for storing IAquimaSession instances. Blueriq uses a specific session manager depending on the properties that are set. By default there are two types of session managers, named "memory" and "external".

Info

In order to run Blueriq in a clustered environment, the "external" session manager must be used.

Table of Contents

Configure Session Manager

The Session Manager can be configured by placing a property in application.properties file. The following values may be used for this property:

Memory

The default implementation, which stores IAquimaSessions on the HTTP session.

Code Block
blueriq.session.session-manager=memory

If the property is missing, this implementation is used by default.

External

Code Block
blueriq.session.session-manager=external

An implementation which stores IAquimaSessions in a key-value store using the available IKeyValueStore implementation.

Code Block
blueriq.session.session-manager=external
Note

 An IKeyValueStore implementation must be made available in the Spring application context. Documentation how this can be done can be found here.

Activate/

pasivate pattern

...

Best practicies

passivate pattern

Activate/passivate pattern was introduced as a means of enabling the Session Manager to store it's AquimaSessions instances in an external key-value store in order to run the runtime in a clustered environment.

passivation
  • occurs before serialization
  • objects have a chance to do any cleanup before serialization
activation
  • occurs after deserialization
  • objects have a chance to restore their transitive dependencies

Best practices

Putting things on the scope / what customers should not do anymore now that we use redis

Custom Session Manager