Class PoolEntry<T,​C>

  • Type Parameters:
    T - the route type that represents the opposite endpoint of a pooled connection.
    C - the connection type.
    Direct Known Subclasses:
    BasicNIOPoolEntry, BasicPoolEntry

    @Contract(threading=SAFE_CONDITIONAL)
    public abstract class PoolEntry<T,​C>
    extends java.lang.Object
    Pool entry containing a pool connection object along with its route.

    The connection contained by the pool entry may have an expiration time which can be either set upon construction time or updated with the updateExpiry(long, TimeUnit).

    Pool entry may also have an object associated with it that represents a connection state (usually a security principal or a unique token identifying the user whose credentials have been used while establishing the connection).

    Since:
    4.2
    • Constructor Detail

      • PoolEntry

        public PoolEntry​(java.lang.String id,
                         T route,
                         C conn,
                         long timeToLive,
                         java.util.concurrent.TimeUnit tunit)
        Creates new PoolEntry instance.
        Parameters:
        id - unique identifier of the pool entry. May be null.
        route - route to the opposite endpoint.
        conn - the connection.
        timeToLive - maximum time to live. May be zero if the connection does not have an expiry deadline.
        tunit - time unit.
      • PoolEntry

        public PoolEntry​(java.lang.String id,
                         T route,
                         C conn)
        Creates new PoolEntry instance without an expiry deadline.
        Parameters:
        id - unique identifier of the pool entry. May be null.
        route - route to the opposite endpoint.
        conn - the connection.
    • Method Detail

      • getId

        public java.lang.String getId()
      • getRoute

        public T getRoute()
      • getConnection

        public C getConnection()
      • getCreated

        public long getCreated()
      • getValidityDeadline

        public long getValidityDeadline()
        Since:
        4.4
      • getState

        public java.lang.Object getState()
      • setState

        public void setState​(java.lang.Object state)
      • getUpdated

        public long getUpdated()
      • getExpiry

        public long getExpiry()
      • updateExpiry

        public void updateExpiry​(long time,
                                 java.util.concurrent.TimeUnit tunit)
      • isExpired

        public boolean isExpired​(long now)
      • close

        public abstract void close()
        Invalidates the pool entry and closes the pooled connection associated with it.
      • isClosed

        public abstract boolean isClosed()
        Returns true if the pool entry has been invalidated.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object