Packages

  • package root
    Definition Classes
    root
  • package io
    Definition Classes
    root
  • package github
    Definition Classes
    io
  • package andrebeat
    Definition Classes
    github
  • package pool

    This library provides classes for dealing with object pooling that allow:

    This library provides classes for dealing with object pooling that allow:

    • blocking/non-blocking object acquisition
    • object invalidation
    • capping the number of pooled objects
    • creating new objects lazily, as needed
    • health checking
    • time-based pool eviction (idle instances)
    • GC-based pool eviction (soft and weak references)
    • efficient thread-safety

    Overview

    In order create a new io.github.andrebeat.pool.Pool the constructor method should be used like so

    scala> val pool = Pool(4, () => new Object)
    pool: io.github.andrebeat.pool.SimplePool[Object] = _
    scala> val lease = pool.acquire()
    lease: io.github.andrebeat.pool.Lease[Object] = _
    scala> lease.release()

    Additionally, in order to avoid manually releasing the lease after its used, you can use the use method on the lease:

    scala> val pool = Pool(4, () => new Object)
    pool: io.github.andrebeat.pool.SimplePool[Object] = _
    scala> val lease = pool.acquire()
    lease: io.github.andrebeat.pool.Lease[Object] = _
    scala> lease(println) // the lease is released automatically after its used
    java.lang.Object@7970d6d
    Definition Classes
    andrebeat
  • object Pool

    Object containing factory methods for io.github.andrebeat.pool.Pool.

    Object containing factory methods for io.github.andrebeat.pool.Pool.

    Definition Classes
    pool
  • ClosedPoolException
c

io.github.andrebeat.pool.Pool

ClosedPoolException

class ClosedPoolException extends Exception

An exception that is thrown when trying to use a closed pool.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ClosedPoolException
  2. Exception
  3. Throwable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ClosedPoolException()

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def addSuppressed(arg0: Throwable): Unit
    Definition Classes
    Throwable
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. def fillInStackTrace(): Throwable
    Definition Classes
    Throwable
  10. def getCause(): Throwable
    Definition Classes
    Throwable
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  12. def getLocalizedMessage(): String
    Definition Classes
    Throwable
  13. def getMessage(): String
    Definition Classes
    Throwable
  14. def getStackTrace(): Array[StackTraceElement]
    Definition Classes
    Throwable
  15. final def getSuppressed(): Array[Throwable]
    Definition Classes
    Throwable
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  17. def initCause(arg0: Throwable): Throwable
    Definition Classes
    Throwable
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  22. def printStackTrace(arg0: PrintWriter): Unit
    Definition Classes
    Throwable
  23. def printStackTrace(arg0: PrintStream): Unit
    Definition Classes
    Throwable
  24. def printStackTrace(): Unit
    Definition Classes
    Throwable
  25. def setStackTrace(arg0: Array[StackTraceElement]): Unit
    Definition Classes
    Throwable
  26. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    Throwable → AnyRef → Any
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from Exception

Inherited from Throwable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped