Class ExclusiveIsolatedClientSession

All Implemented Interfaces:
Serializable, Cloneable, CoreSession<ClassDescriptor,Login,Platform,Project,SessionEventManager>, CommandProcessor, Session

public class ExclusiveIsolatedClientSession extends IsolatedClientSession
See Also:
  • Field Details

    • shouldAlwaysUseExclusiveConnection

      protected boolean shouldAlwaysUseExclusiveConnection
      If true all classes are read through the exclusive connection, otherwise only the isolated ones.
  • Constructor Details

  • Method Details

    • getAccessors

      public Collection<Accessor> getAccessors()
      INTERNAL: Always use writeConnection.
      Overrides:
      getAccessors in class ClientSession
    • setAccessor

      public void setAccessor(Accessor accessor)
      INTERNAL: Provided for consistency.
      Overrides:
      setAccessor in class AbstractSession
    • releaseWriteConnection

      protected void releaseWriteConnection()
      INTERNAL: As this session type should maintain it's transaction for its entire life- cycle we will wait for 'release' before releasing connection. By making this method a no-op the connection will not be released until 'release()' is called on the client session.
      Overrides:
      releaseWriteConnection in class ClientSession
    • postAcquireConnection

      public void postAcquireConnection(Accessor accessor)
      INTERNAL: This method rises appropriate for the session event(s) right after connection is acquired.
      Overrides:
      postAcquireConnection in class AbstractSession
    • preReleaseConnection

      public void preReleaseConnection(Accessor accessor)
      INTERNAL: This method rises appropriate for the session event(s) right before the connection is released.
      Overrides:
      preReleaseConnection in class AbstractSession
    • isExclusiveConnectionRequired

      public boolean isExclusiveConnectionRequired()
      INTERNAL: This method is called in case externalConnectionPooling is used. If returns true, accessor used by the session keeps its connection open until released by the session.
      Overrides:
      isExclusiveConnectionRequired in class ClientSession
    • isExclusiveIsolatedClientSession

      public boolean isExclusiveIsolatedClientSession()
      PUBLIC: Return if this session is an exclusive isolated client session.
      Overrides:
      isExclusiveIsolatedClientSession in class AbstractSession
    • shouldExecuteLocally

      protected boolean shouldExecuteLocally(DatabaseQuery query)
      INTERNAL: Helper method to calculate whether to execute this query locally or send it to the server session.
      Overrides:
      shouldExecuteLocally in class IsolatedClientSession