@Override protected Serializer getDefaultSerializer(Class cl) { if (_defaultSerializer != null) { return _defaultSerializer; } return new JavaSerializer(cl); }
writeObject10(repl, out); } else { if (ref == -1) { writeDefinition20(out); out.writeObjectBegin(cl.getName()); writeInstance(repl, out); writeObject10(obj, out); writeDefinition20(out); out.writeObjectBegin(cl.getName()); writeInstance(obj, out);
@Override public void writeObject(Object obj, AbstractHessianOutput out) throws IOException { Throwable e = (Throwable) obj; e.getStackTrace(); super.writeObject(obj, out); } }
else if (JavaSerializer.getWriteReplace(cl) != null) serializer = new JavaSerializer(cl, _loader);
public JavaSerializer(Class<?> cl) { introspect(cl); _writeReplace = getWriteReplace(cl); if (_writeReplace != null) _writeReplace.setAccessible(true); }
/** * Returns the default serializer for a class that isn't matched * directly. Application can override this method to produce * bean-style serialization instead of field serialization. * * @param cl the class of the object that needs to be serialized. * @return a serializer object for the serialization. */ protected Serializer getDefaultSerializer(Class cl) { if (_defaultSerializer != null) return _defaultSerializer; if (!Serializable.class.isAssignableFrom(cl) && !_isAllowNonSerializable) { throw new IllegalStateException("Serialized class " + cl.getName() + " must implement java.io.Serializable"); } if (_isEnableUnsafeSerializer && JavaSerializer.getWriteReplace(cl) == null) { return UnsafeSerializer.create(cl); } else return JavaSerializer.create(cl); }
private void introspectWriteReplace(Class cl, ClassLoader loader) { try { String className = cl.getName() + "HessianSerializer"; Class serializerClass = Class.forName(className, false, loader); Object serializerObject = serializerClass.newInstance(); Method writeReplace = getWriteReplace(serializerClass, cl); if (writeReplace != null) { _writeReplaceFactory = serializerObject; _writeReplace = writeReplace; return; } } catch (ClassNotFoundException e) { } catch (Exception e) { log.log(Level.FINER, e.toString(), e); } _writeReplace = getWriteReplace(cl); }
_fieldSerializers[i] = getFieldSerializer(_fields[i].getType());
public JavaSerializer(Class cl, ClassLoader loader) introspectWriteReplace(cl, loader); _fieldSerializers[i] = getFieldSerializer(_fields[i].getType());
/** * Returns the default serializer for a class that isn't matched * directly. Application can override this method to produce * bean-style serialization instead of field serialization. * * @param cl the class of the object that needs to be serialized. * * @return a serializer object for the serialization. */ protected Serializer getDefaultSerializer(Class cl) { if (_defaultSerializer != null) return _defaultSerializer; if (! Serializable.class.isAssignableFrom(cl) && ! _isAllowNonSerializable) { throw new IllegalStateException("Serialized class " + cl.getName() + " must implement java.io.Serializable"); } return JavaSerializer.create(cl); }
writeObject10(repl, out); } else { if (ref == -1) { writeDefinition20(out); out.writeObjectBegin(cl.getName()); writeInstance(repl, out); writeObject10(obj, out); writeDefinition20(out); out.writeObjectBegin(cl.getName()); writeInstance(obj, out);
public void writeObject(Object obj, AbstractHessianOutput out) throws IOException { Throwable e = (Throwable) obj; e.getStackTrace(); super.writeObject(obj, out); } }
public JavaSerializer(Class<?> cl) { introspect(cl); _writeReplace = getWriteReplace(cl); if (_writeReplace != null) _writeReplace.setAccessible(true); }
/** * Returns the default serializer for a class that isn't matched * directly. Application can override this method to produce * bean-style serialization instead of field serialization. * * @param cl the class of the object that needs to be serialized. * * @return a serializer object for the serialization. */ protected Serializer getDefaultSerializer(Class cl) { if (_defaultSerializer != null) return _defaultSerializer; if (! Serializable.class.isAssignableFrom(cl) && ! _isAllowNonSerializable) { throw new IllegalStateException("Serialized class " + cl.getName() + " must implement java.io.Serializable"); } if (_isEnableUnsafeSerializer && JavaSerializer.getWriteReplace(cl) == null) { return UnsafeSerializer.create(cl); } else return JavaSerializer.create(cl); }
else if (JavaSerializer.getWriteReplace(cl) != null) { Serializer baseSerializer = getDefaultSerializer(cl);
_fieldSerializers[i] = getFieldSerializer(_fields[i].getType());
writeObject10(repl, out); } else { if (ref == -1) { writeDefinition20(out); out.writeObjectBegin(cl.getName()); writeInstance(repl, out); writeObject10(obj, out); writeDefinition20(out); out.writeObjectBegin(cl.getName()); writeInstance(obj, out);
@Override public void writeObject(Object obj, AbstractHessianOutput out) throws IOException { Throwable e = (Throwable) obj; e.getStackTrace(); super.writeObject(obj, out); } }
@Override protected Serializer getDefaultSerializer(Class cl) { if (_defaultSerializer != null) { return _defaultSerializer; } return new JavaSerializer(cl); }
public JavaSerializer(Class<?> cl) { introspect(cl); _writeReplace = getWriteReplace(cl); if (_writeReplace != null) _writeReplace.setAccessible(true); }