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 Detail

      • 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.