package com.jarvis.cache.serializer; import java.lang.ref.WeakReference; import com.caucho.hessian.io.AbstractSerializerFactory; import com.caucho.hessian.io.Deserializer; import com.caucho.hessian.io.HessianProtocolException; import com.caucho.hessian.io.Serializer; public class WeakReferenceSerializerFactory extends AbstractSerializerFactory { private final WeakReferenceSerializer beanSerializer=new WeakReferenceSerializer(); private final WeakReferenceDeserializer beanDeserializer=new WeakReferenceDeserializer(); @Override public Serializer getSerializer(@SuppressWarnings("rawtypes") Class cl) throws HessianProtocolException { if(WeakReference.class.isAssignableFrom(cl)) { return beanSerializer; } return null; } @Override public Deserializer getDeserializer(@SuppressWarnings("rawtypes") Class cl) throws HessianProtocolException { if(WeakReference.class.isAssignableFrom(cl)) { return beanDeserializer; } return null; } }