父類序列化不了可以改成組合的方式,把原來的父類當(dāng)成一個成員,代碼如下:
class SOAPAScalaLogger() extends Serializable {
@transient
var logger: SOAPALogger = null
var moduleName: String = null
def setModuleName(name: String): Unit = {
moduleName = name
}
private def writeObject(out: ObjectOutputStream): Unit = {
out.defaultWriteObject()
out.writeObject(SOAPALogger.getAppID())
}
private def readObject(in: ObjectInputStream): Unit = {
in.defaultReadObject()
val appID = in.readObject().asInstanceOf[String]
SOAPALogger.setAppID(appID)
logger = SOAPALogManager.getLogger(moduleName, new SOAPACategoryFactory).asInstanceOf[SOAPALogger];
}
}