Class ServerSessionOperationStrategy

  • All Implemented Interfaces:
    SessionOperationStrategy

    public class ServerSessionOperationStrategy
    extends Object
    implements SessionOperationStrategy
    Server based SessionOperationStrategy implementation. SessionOperations represent the available operations that can be performed on a Session, which are applicable under a number of situations. These situations correspond to the number of situations Sessions can find themselves in. This strategy covers the following: local - The Session is based on the current server and that server is responsible for processing the request. remote - The Session is based on a remote server which will service the request and respond with an appropriate response. This is performed by using a remote request and the PLL signalling system. CTS - The Session is a remote session, however the Site appears to be down. The request will be performed locally using the CTS instead. Between these strategies, the users Session should be available during fail-over of a Site.
    • Constructor Detail

      • ServerSessionOperationStrategy

        @Inject
        public ServerSessionOperationStrategy​(SessionMonitoringStore store,
                                              LocalOperations local,
                                              StatelessOperations stateless,
                                              StatelessSessionManager statelessSessionManager,
                                              @Named("amSession")
                                              Debug debug)
        Guice initialised constructor.
        Parameters:
        local - Required strategy.
        store - The store for session monitoring information.
        statelessSessionManager - Required for JWT checks.
        debug - Required for logging.
    • Method Detail

      • getOperation

        public SessionOperations getOperation​(SessionID sessionID)
        Based on the Session, determine the appropriate SessionOperations strategy to select. Local - For local Sessions which are hosted on the current Server. Remote - The Session is from a remote Site, and the Site is up. CTS - When cross talk is disabled, or if the Session is from a remote Site, which is down.
        Specified by:
        getOperation in interface SessionOperationStrategy
        Parameters:
        sessionID - Non null SessionID to use.
        Returns:
        A non null SessionOperations implementation to use.