Class WebSocketNotificationReceiver

    • Field Detail

      • LOGGER

        public static final java.util.logging.Logger LOGGER
        Logger for use in the file
      • SERVER_HOST_PROPERTY

        public static final java.lang.String SERVER_HOST_PROPERTY
        Property for serverHost
        See Also:
        Constant Field Values
      • SERVER_PORT_PROPERTY

        public static final java.lang.String SERVER_PORT_PROPERTY
        Property for serverPort
        See Also:
        Constant Field Values
      • SERVER_PATH_PROPERTY

        public static final java.lang.String SERVER_PATH_PROPERTY
        Property for serverPath
        See Also:
        Constant Field Values
      • SEQUENCE_PROPERTY

        public static final java.lang.String SEQUENCE_PROPERTY
        Property for sequence
        See Also:
        Constant Field Values
      • TIMESTAMP_PROPERTY

        public static final java.lang.String TIMESTAMP_PROPERTY
        Property for timestamp
        See Also:
        Constant Field Values
      • TRACKING_FILE_NAME_PROPERTY

        public static final java.lang.String TRACKING_FILE_NAME_PROPERTY
        Property for trackingFileName
        See Also:
        Constant Field Values
      • CONNECT_ATTEMPTS_PROPERTY

        public static final java.lang.String CONNECT_ATTEMPTS_PROPERTY
        Property for connectAttempts
        See Also:
        Constant Field Values
      • CONNECT_TIMEOUT_PROPERTY

        public static final java.lang.String CONNECT_TIMEOUT_PROPERTY
        Property for connectTimeout
        See Also:
        Constant Field Values
      • RETRY_ON_CLOSE_PROPERTY

        public static final java.lang.String RETRY_ON_CLOSE_PROPERTY
        Property for retryOnClose
        See Also:
        Constant Field Values
      • DEFAULT_SERVER_HOST

        public static final java.lang.String DEFAULT_SERVER_HOST
        Default server host
        See Also:
        Constant Field Values
      • DEFAULT_SERVER_PORT

        public static final java.lang.String DEFAULT_SERVER_PORT
        Default server port
        See Also:
        Constant Field Values
      • DEFAULT_SERVER_PATH

        public static final java.lang.String DEFAULT_SERVER_PATH
        Default server path
        See Also:
        Constant Field Values
      • DEFAULT_TRACKING_FILE_NAME

        public static final java.lang.String DEFAULT_TRACKING_FILE_NAME
        Default tracking file
        See Also:
        Constant Field Values
      • DEFAULT_CONNECT_ATTEMPTS

        public static final java.lang.String DEFAULT_CONNECT_ATTEMPTS
        Default number of connect attempts
        See Also:
        Constant Field Values
      • DEFAULT_CONNECT_TIMEOUT

        public static final java.lang.String DEFAULT_CONNECT_TIMEOUT
        Default timeout in ms
        See Also:
        Constant Field Values
      • DEFAULT_RETRY_ON_CLOSE

        public static final java.lang.String DEFAULT_RETRY_ON_CLOSE
        Default condiction for retry on close
        See Also:
        Constant Field Values
      • ATTRIBUTE_DATA

        public static final java.lang.String ATTRIBUTE_DATA
        attribute for data
        See Also:
        Constant Field Values
    • Constructor Detail

      • WebSocketNotificationReceiver

        public WebSocketNotificationReceiver()
    • Method Detail

      • configure

        public void configure​(Config config)
                       throws java.lang.Exception
        Description copied from class: DefaultConfigurable
        Process configuration settings. Called before startup().
        Specified by:
        configure in interface Configurable
        Overrides:
        configure in class DefaultNotificationReceiver
        Parameters:
        config - the Config object with settings.
        Throws:
        java.lang.Exception - if configuration exceptions occur.
      • startup

        public void startup()
                     throws java.lang.Exception
        Reads a sequence from a tracking file if it exists. Otherwise, starting sequence is 0. Connects to web socket
        Specified by:
        startup in interface Configurable
        Overrides:
        startup in class DefaultNotificationReceiver
        Throws:
        java.lang.Exception - if error occurs
      • writeTrackingFile

        public void writeTrackingFile()
                               throws java.lang.Exception
        Writes tracking file to disc, storing latest sequence
        Throws:
        java.lang.Exception - if error occurs
      • readTrackingFile

        public javax.json.JsonObject readTrackingFile()
                                               throws java.lang.Exception
        Reads tracking file from disc
        Returns:
        JsonObject tracking file
        Throws:
        java.lang.Exception - if error occurs
      • onOpen

        public void onOpen​(javax.websocket.Session session)
        Description copied from interface: WebSocketListener
        Interface method to be overriden by WebSocket files and AwsProductReceiver
        Specified by:
        onOpen in interface WebSocketListener
        Parameters:
        session - Session to open
      • onMessage

        public void onMessage​(java.lang.String message)
        Message handler function passed to WebSocketClient Parses the message as JSON, receives the contained URL notification, and writes the tracking file.
        Specified by:
        onMessage in interface WebSocketListener
        Parameters:
        message - String
      • onClose

        public void onClose​(javax.websocket.Session session,
                            javax.websocket.CloseReason closeReason)
        Description copied from interface: WebSocketListener
        Interface method to be overriden by WebSocket files and AwsProductReceiver
        Specified by:
        onClose in interface WebSocketListener
        Parameters:
        session - Session to close
        closeReason - Reason for closing session
      • onConnectFail

        public void onConnectFail()
        Description copied from interface: WebSocketListener
        Interface method to be overriden by WebSocket files and AwsProductReceiver
        Specified by:
        onConnectFail in interface WebSocketListener
      • getServerHost

        public java.lang.String getServerHost()
        Returns:
        serverHost
      • setServerHost

        public void setServerHost​(java.lang.String serverHost)
        Parameters:
        serverHost - to set
      • getServerPort

        public java.lang.String getServerPort()
        Returns:
        serverPort
      • setServerPort

        public void setServerPort​(java.lang.String serverPort)
        Parameters:
        serverPort - to set
      • getServerPath

        public java.lang.String getServerPath()
        Returns:
        serverPath
      • setServerPath

        public void setServerPath​(java.lang.String serverPath)
        Parameters:
        serverPath - to set
      • getTrackingFileName

        public java.lang.String getTrackingFileName()
        Returns:
        trackingFileName
      • setTrackingFileName

        public void setTrackingFileName​(java.lang.String trackingFileName)
        Parameters:
        trackingFileName - to set
      • getSequence

        public java.lang.String getSequence()
        Returns:
        sequence
      • setSequence

        public void setSequence​(java.lang.String sequence)
        Parameters:
        sequence - to set
      • getAttempts

        public int getAttempts()
        Returns:
        attempts
      • setAttempts

        public void setAttempts​(int attempts)
        Parameters:
        attempts - to set
      • getTimeout

        public long getTimeout()
        Returns:
        timeout
      • setTimeout

        public void setTimeout​(long timeout)
        Parameters:
        timeout - to set