The entire OMERO application (on a single JVM) resides in a single ome.system.OmeroContext. Each call belongs additionally to a single org.hibernate.Session (which can span over multiple calls) and to a single ome.model.meta.Event (which is restricted to a single task).
OmeroContext
The container for all Omero applications is the OmeroContext (source file). Based on the Spring configuration backing the context, it can be one of : client, internal, or managed. The use of a ServiceFactory(code) simplifies this usage for the client. See OmeroClientLibrary for more information.
Hibernate Sessions
A Hibernate Session comprises a Unit-of-Work which translates for OMERO's ObjectModel to a relational database. It keeps references to all DB-backed objects so that within a single session object-identity stays constant and objects changes can be persisted.
A session can span multiple calls by being disconnected from the underlying database transaction and, then, reconnected to a new transaction on the next call (See SessionHandler for the implementation).
! Event
For more information about Events see OmeroEvents.
Attachments
- contexts.png (89.4 kB) - added by jmoore 3 months ago.

