Package org.kie.internal.runtime.manager

## Interface SessionFactory

-     public interface SessionFactory

  Factory that produces `KieSession` instances.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` | Closes the factory and releases all resources
    `org.kie.api.runtime.KieSession` | `findKieSessionById​(Long sessionId)` | Loads `KieSession` form data store (such as db) based on given id.
    `org.kie.api.runtime.KieSession` | `newKieSession()` | Produces new instance of `KieSession`
    `void` | `onDispose​(Long sessionId)` | Invoked when runtime engine is about to be disposed

- - ### Method Detail

    - #### newKieSession

          org.kie.api.runtime.KieSession newKieSession()

      Produces new instance of `KieSession`
      Returns:
        new instance of `KieSession`

    - #### findKieSessionById

          org.kie.api.runtime.KieSession findKieSessionById​(Long sessionId)

      Loads `KieSession` form data store (such as db) based on given id.
      Parameters:
        `sessionId` - identifier of ksession
      Returns:
        loaded instance of `KieSession`
      Throws:
        `RuntimeException` - in case session cannot be loaded

    - #### close

          void close()

      Closes the factory and releases all resources

    - #### onDispose

          void onDispose​(Long sessionId)

      Invoked when runtime engine is about to be disposed
      Parameters:
        `sessionId` - ksession id that is disposed.