Class EPPSessionPoolableFactory

  • All Implemented Interfaces:
    org.apache.commons.pool2.PooledObjectFactory<EPPPooledGenericSession>

    public class EPPSessionPoolableFactory
    extends java.lang.Object
    implements org.apache.commons.pool2.PooledObjectFactory<EPPPooledGenericSession>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static long TIMEOUT_UNSET
      The timeout value is not set.
    • Constructor Summary

      Constructors 
      Constructor Description
      EPPSessionPoolableFactory()
      Default constructor.
      EPPSessionPoolableFactory​(java.lang.String aClientId, java.lang.String aPassword, long aAbsoluteTimeout, long aIdleTimeout)
      Create an EPP session poolable factory with the client id, password used to authenticate the session along with the timeout settings.
      EPPSessionPoolableFactory​(java.lang.String aClientId, java.lang.String aPassword, long aMinAbsoluteTimeout, long aMaxAbsoluteTimeout, long aIdleTimeout)
      Create an EPP session poolable factory with the client id, password used to authenticate the session along with the timeout settings.
    • Field Detail

      • TIMEOUT_UNSET

        public static long TIMEOUT_UNSET
        The timeout value is not set.
    • Constructor Detail

      • EPPSessionPoolableFactory

        public EPPSessionPoolableFactory()
        Default constructor. Must set the following attributes for using:

        • clientId
        • password
        • absoluteTimeout
        • idleTimeout
      • EPPSessionPoolableFactory

        public EPPSessionPoolableFactory​(java.lang.String aClientId,
                                         java.lang.String aPassword,
                                         long aAbsoluteTimeout,
                                         long aIdleTimeout)
        Create an EPP session poolable factory with the client id, password used to authenticate the session along with the timeout settings.
        Parameters:
        aClientId - Login id used to authenticate
        aPassword - Password used to authenticate
        aAbsoluteTimeout - Session absolute timeout
        aIdleTimeout - Session idle timeout
      • EPPSessionPoolableFactory

        public EPPSessionPoolableFactory​(java.lang.String aClientId,
                                         java.lang.String aPassword,
                                         long aMinAbsoluteTimeout,
                                         long aMaxAbsoluteTimeout,
                                         long aIdleTimeout)
        Create an EPP session poolable factory with the client id, password used to authenticate the session along with the timeout settings.
        Parameters:
        aClientId - Login id used to authenticate
        aPassword - Password used to authenticate
        aMinAbsoluteTimeout - Session minimum absolute timeout
        aMaxAbsoluteTimeout - Session maximum absolute timeout
        aIdleTimeout - Session idle timeout
    • Method Detail

      • getClientId

        public java.lang.String getClientId()
        Returns:
        Returns the clientId.
      • setClientId

        public void setClientId​(java.lang.String clientId)
        Parameters:
        clientId - The clientId to set.
      • getPassword

        public java.lang.String getPassword()
        Returns:
        Returns the password.
      • setPassword

        public void setPassword​(java.lang.String password)
        Parameters:
        password - The password to set.
      • getAbsoluteTimeout

        public long getAbsoluteTimeout()
        Gets the session absolute timeout in milliseconds.
        Returns:
        Absolute timeout in milliseconds
      • setAbsoluteTimeout

        public void setAbsoluteTimeout​(long aAbsoluteTimeout)
        Sets the session absolute timeout in milliseconds.
        Parameters:
        aAbsoluteTimeout - Absolute timeout in milliseconds.
      • getMinAbsoluteTimeout

        public long getMinAbsoluteTimeout()
        Gets the minimum session absolute timeout in milliseconds. If both minAbsoluteTimeout and maxAbsoluteTimemout are set, they will override the setting of absoluteTimeout.
        Returns:
        Minimum absolute timeout in milliseconds
      • setMinAbsoluteTimeout

        public void setMinAbsoluteTimeout​(long aMinAbsoluteTimeout)
        Sets the minimum session absolute timeout. If both minAbsoluteTimeout and maxAbsoluteTimemout are set, they will override the setting of the absoluteTimeout.
        Parameters:
        aMinAbsoluteTimeout - Minimum absolute timeout in milliseconds.
      • getMaxAbsoluteTimeout

        public long getMaxAbsoluteTimeout()
        Gets the maximum session absolute timeout in milliseconds. If both minAbsoluteTimeout and maxAbsoluteTimemout are set, they will override the setting of absoluteTimeout.
        Returns:
        Maximum absolute timeout in milliseconds
      • setMaxAbsoluteTimeout

        public void setMaxAbsoluteTimeout​(long aMaxAbsoluteTimeout)
        Sets the maximum session absolute timeout. If both minAbsoluteTimeout and maxAbsoluteTimemout are set, they will override the setting of the absoluteTimeout.
        Parameters:
        aMaxAbsoluteTimeout - Maximum absolute timeout in milliseconds.
      • isRandomAbsoluteTimeout

        public boolean isRandomAbsoluteTimeout()
        Returns whether the absolute timeout will be randomized between the minAbsoluteTimeout and maxAbsoluteTimemout.
        Returns:
        true if the absolute timeout will be randomized; false otherwise.
      • getIdleTimeout

        public long getIdleTimeout()
        Gets the session idle timeout.
        Returns:
        The idle timeout in milliseconds
      • setIdleTimeout

        public void setIdleTimeout​(long aIdleTimeout)
        Sets the session idle timeout.
        Parameters:
        aIdleTimeout - Idle session in milliseconds
      • getServerName

        public java.lang.String getServerName()
        Gets the TCP server IP address or host name, or the URL of the HTTP server.
        Returns:
        Server host name, IP address, or URL
      • setServerName

        public void setServerName​(java.lang.String aServerName)
        Sets the TCP server IP address or host name or the URL of the HTTP server.
        Parameters:
        aServerName - Server host name, IP address, or URL
      • getServerPort

        public java.lang.Integer getServerPort()
        Gets the TCP server port number. This will be null if connecting to a HTTP server.
        Returns:
        TCP server port number if defined; null otherwise.
      • setServerPort

        public void setServerPort​(java.lang.Integer aServerPort)
        Sets the TCP server port number.
        Parameters:
        aServerPort - TCP server port number
      • getClientHost

        public java.lang.String getClientHost()
        Gets the TCP server IP address or host name to connect from. A null value will use the loop back.
        Returns:
        Client host name or IP address if defined;null otherwise.
      • setClientHost

        public void setClientHost​(java.lang.String aClientHost)
        Sets the TCP server IP address or host name to connect from. A null value will use the loop back.
        Parameters:
        aClientHost - Client host name or IP address
      • getSSLContext

        public EPPSSLContext getSSLContext()
        Gets the optional EPPSSLContext associated with the factory.
        Returns:
        SSL Context if defined; null otherwise
      • setSSLContext

        public void setSSLContext​(EPPSSLContext aSSLContext)
        Gets the optional EPPSSLContext associated with the factory.
        Parameters:
        aSSLContext - SSL Context to use by the factory
      • getClientTransIdGenerator

        public EPPClientTransIdGenerator getClientTransIdGenerator()
        Gets the client transaction identifier generator object that is set.
        Returns:
        Client transaction identifier generator object if set; null otherwise.
      • setClientTransIdGenerator

        public void setClientTransIdGenerator​(EPPClientTransIdGenerator aClientTransIdGenerator)
        Sets the client transaction identifier generator object that is used to generate client transaction identifiers for the login and logout commands.
        Parameters:
        aClientTransIdGenerator - Client transaction identifier generator object or null to unset the generator
      • activateObject

        public void activateObject​(org.apache.commons.pool2.PooledObject<EPPPooledGenericSession> aSession)
                            throws java.lang.Exception
        Session being borrowed from the pool.
        Specified by:
        activateObject in interface org.apache.commons.pool2.PooledObjectFactory<EPPPooledGenericSession>
        Parameters:
        aSession - Session being returned
        Throws:
        java.lang.Exception
      • destroyObject

        public void destroyObject​(org.apache.commons.pool2.PooledObject<EPPPooledGenericSession> aSession)
                           throws java.lang.Exception
        Destroy object from the pool.
        Specified by:
        destroyObject in interface org.apache.commons.pool2.PooledObjectFactory<EPPPooledGenericSession>
        Parameters:
        aSession - Session being destroyed
        Throws:
        java.lang.Exception
      • makeObject

        public org.apache.commons.pool2.PooledObject<EPPPooledGenericSession> makeObject()
                                                                                  throws java.lang.Exception
        Creates a new session object.
        Specified by:
        makeObject in interface org.apache.commons.pool2.PooledObjectFactory<EPPPooledGenericSession>
        Throws:
        java.lang.Exception
      • passivateObject

        public void passivateObject​(org.apache.commons.pool2.PooledObject<EPPPooledGenericSession> aSession)
                             throws java.lang.Exception
        Session is being returned to the pool.
        Specified by:
        passivateObject in interface org.apache.commons.pool2.PooledObjectFactory<EPPPooledGenericSession>
        Parameters:
        aSession - Session being returned
        Throws:
        java.lang.Exception
      • validateObject

        public boolean validateObject​(org.apache.commons.pool2.PooledObject<EPPPooledGenericSession> aSession)
        Validates a session by sending a keep alive. If an exception occurs from the keep alive, than the session is not valid.
        Specified by:
        validateObject in interface org.apache.commons.pool2.PooledObjectFactory<EPPPooledGenericSession>
        Parameters:
        aSession - Session to validate
        Returns:
        true if the session is valid; false otherwise.
      • makeSession

        protected EPPPooledGenericSession makeSession()
                                               throws java.lang.Exception
        Make an EPP session instance for pool. This can be overridden by a derived class to create a custom EPP session instance (i.e. HTTP).
        Returns:
        EPPSession instance
        Throws:
        java.lang.Exception - Configuration error or error creating pooled session.