Class EPPSessionPoolableFactory

java.lang.Object
com.verisign.epp.pool.EPPSessionPoolableFactory
All Implemented Interfaces:
org.apache.commons.pool2.PooledObjectFactory<EPPPooledSession>
Direct Known Subclasses:
EPPGenericSessionPoolableFactory, EPPHttpSessionPoolableFactory, EPPQuicSessionPoolableFactory

public abstract class EPPSessionPoolableFactory extends Object implements org.apache.commons.pool2.PooledObjectFactory<EPPPooledSession>
Base class for the session pool factories that can be configured. The concrete session pool factories will implement the concrete Commons Pool PoolableObjectFactory generics class.
  • Field Details

    • TIMEOUT_UNSET

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

      protected String clientId
      Client id used during session authentication.
    • password

      protected String password
      Password used during session authentication.
    • absoluteTimeout

      protected long absoluteTimeout
      Session absolute timeout in milliseconds for all sessions. If both minAbsoluteTimeout and maxAbsoluteTimemout are set, they will override the setting of the absoluteTimeout.
    • minAbsoluteTimeout

      protected long minAbsoluteTimeout
      Minimum absolute timeout in milliseconds. The actual absolute timeout will be randomized between the minAbsoluteTimeout and maxAbsoluteTimeout. If both minAbsoluteTimeout and maxAbsoluteTimemout are set, they will override the setting of the absoluteTimeout.
    • maxAbsoluteTimeout

      protected long maxAbsoluteTimeout
      Maximum absolute timeout in milliseconds. The actual absolute timeout will be randomized between the minAbsoluteTimeout and maxAbsoluteTimeout. If both minAbsoluteTimeout and maxAbsoluteTimemout are set, they will override the setting of the absoluteTimeout.
    • idleTimeout

      protected long idleTimeout
      Idle timeout in milliseconds
    • serverName

      protected String serverName
      Name or IP address of TCP server or URL of HTTP server.
    • serverPort

      protected Integer serverPort
      Port number of TCP server. This attribute should be null when connecting to a HTTP server.
    • clientHost

      protected String clientHost
      Name or IP address to connect from. When null the host will be set to the loop back.
    • sslContext

      protected EPPSSLContext sslContext
      SSL context information
    • clientTransIdGenerator

      protected EPPClientTransIdGenerator clientTransIdGenerator
      Client transaction identifier generator used with login and logout commands.
    • initSessionOnMake

      protected boolean initSessionOnMake
      Initialize the session with the call to PooledObjectFactory.makeObject() with a default value of true. This attribute also impacts the automatic call to end the session with the call to PooledObjectFactory.destroyObject(PooledObject).
  • Constructor Details

    • EPPSessionPoolableFactory

      public EPPSessionPoolableFactory()
  • Method Details

    • getClientId

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

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

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

      public void setPassword(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 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(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 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(Integer aServerPort)
      Sets the TCP server port number.
      Parameters:
      aServerPort - TCP server port number
    • getClientHost

      public 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(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
    • isInitSessionOnMake

      public boolean isInitSessionOnMake()
      Initialize the session via an EPP login on the call to PooledObjectFactory.makeObject()? The default value is true. This also impacts executing end session via the EPP logout on the call to PooledObjectFactory.destroyObject(PooledObject).
      Returns:
      true the session will be initialized via an EPP login on the call to PooledObjectFactory.makeObject(); false otherwise
    • setInitSessionOnMake

      public void setInitSessionOnMake(boolean aInitSessionOnMake)
      Set whether to initialize the session via an EPP login on the call to PooledObjectFactory.makeObject(). The default value is true. This also impacts executing end session via the EPP logout on the call to PooledObjectFactory.destroyObject(PooledObject).
      Parameters:
      aInitSessionOnMake - true the session will be initialized via an EPP login on the call to PooledObjectFactory.makeObject(); false otherwise