KieSession is a stateful session that maintains its conversational state with the engine, across multiple interactions. It is the best way to interact with the engine. Sessions are created starting from KieContainer, KieBase, or configured RuntimeEngine, which always delegates to KieBase but gives you the flexibility of choosing a session runtime policy.
Depending on the enabling of persistence, the session is created as follows:
- In-memory session: All data related to session and the engine status is kept in memory and lost on engine restart
- JTA session: Session persisted through a JPA EntityManager and a JTA transaction manager
To create a new (stateful) KieSession, we configure the environment and we use