Interface KryoPool

All Known Implementing Classes:
KryoPoolQueueImpl

public interface KryoPool
A simple pool interface for Kryo instances. Use the KryoPool.Builder to construct a pool instance. Usage:
 import com.esotericsoftware.kryo.Kryo;
 import com.esotericsoftware.kryo.pool.*;
 
 KryoFactory factory = new KryoFactory() {
   public Kryo create () {
     Kryo kryo = new Kryo();
     // configure kryo instance, customize settings
     return kryo;
   }
 };
 // Simple pool, you might also activate SoftReferences to fight OOMEs.
 KryoPool pool = new KryoPool.Builder(factory).build();
 Kryo kryo = pool.borrow();
 // do s.th. with kryo here, and afterwards release it
 pool.release(kryo);
 
 // or use a callback to work with kryo (pool.run borrows+releases for you)
 String value = pool.run(new KryoCallback() {
   public String execute(Kryo kryo) {
     return kryo.readObject(input, String.class);
   }
 });
 
  • Method Details

    • borrow

      Kryo borrow()
      Takes a Kryo instance from the pool or creates a new one (using the factory) if the pool is empty.
    • release

      void release(Kryo kryo)
      Returns the given Kryo instance to the pool.
    • run

      <T> T run(KryoCallback<T> callback)
      Runs the provided KryoCallback with a Kryo instance from the pool (borrow/release around KryoCallback.execute(Kryo)).