};
javassist.appendClassLoaderIfMissing(DataObjectSerializerPrototype.class.getClassLoader());
}
- this.implementations = CacheBuilder.newBuilder().weakKeys().build(new SerializerImplementationLoader());
+ this.implementations = CacheBuilder.newBuilder()
+ .removalListener(notification -> LOG.debug("onRemoval: cause={}, wasEvicted={}",
+ notification.getCause(), notification.wasEvicted()))
+ .weakKeys().build(new SerializerImplementationLoader());
+ LOG.debug("AbstractStreamWriterGenerator constructor, new instance: {}", this);
}
@Override
@Override
public final void onBindingRuntimeContextUpdated(final BindingRuntimeContext runtime) {
this.context = runtime;
+ LOG.debug("onBindingRuntimeContextUpdated() : {}", runtime);
}
@Override
final DataObjectSerializerImplementation obj =
(DataObjectSerializerImplementation) cls.getDeclaredMethod(GETINSTANCE_METHOD_NAME).invoke(null);
- LOG.debug("Loaded serializer {} for class {}", obj, type);
+ LOG.trace("Loaded serializer {} for class {}", obj, type);
return obj;
}
final String serializerName) throws CannotCompileException, IllegalAccessException,
IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException,
NoSuchFieldException {
+ LOG.debug("generateSerializer() due to Cache miss: typeName={}, typeClassLoader={}, serializerName={}",
+ type.getTypeName(), type.getClassLoader(), serializerName);
final DataObjectSerializerSource source = generateEmitterSource(type, serializerName);
final CtClass poolClass = generateEmitter0(type, source, serializerName);
@SuppressWarnings("unchecked")