public void initialize() { // Register types we know about and do not require external configuration kryo.register(ArrayList.class); kryo.register(BasicCredentialMetaData.class); kryo.register(Class.class, new ClassSerializer(kryo)); kryo.register(Date.class, new DateSerializer()); kryo.register(HardTimeoutExpirationPolicy.class); kryo.register(HashMap.class); kryo.register(HandlerResult.class); kryo.register(ImmutableAuthentication.class); kryo.register(MultiTimeUseOrTimeoutExpirationPolicy.class); kryo.register(NeverExpiresExpirationPolicy.class); kryo.register(RememberMeDelegatingExpirationPolicy.class); kryo.register(ServiceTicketImpl.class); kryo.register(SimpleWebApplicationServiceImpl.class, new SimpleWebApplicationServiceSerializer(kryo)); kryo.register(ThrottledUseAndTimeoutExpirationPolicy.class); kryo.register(TicketGrantingTicketExpirationPolicy.class); kryo.register(TicketGrantingTicketImpl.class); kryo.register(TimeoutExpirationPolicy.class); kryo.register(URL.class, new URLSerializer(kryo)); // Register other types if (serializerMap != null) { for (final Class<?> clazz : serializerMap.keySet()) { kryo.register(clazz, serializerMap.get(clazz)); } } // Catchall for any classes not explicitly registered kryo.setRegistrationOptional(true); }