You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "Sergey S. Kljopov" <kl...@wetellyou.com> on 2000/10/10 17:18:47 UTC
is StylesheetRoot serializable?
Good Day!
Im trying to serialize/deserialize StylesheetRoot:
44. stSheet = processor.processStylesheet(new
XSLTInputSource("/tmp/page.xsl"));
45. ByteArrayOutputStream baos = new ByteArrayOutputStream();
46. ObjectOutputStream oos = new ObjectOutputStream(baos);
47. oos.writeObject(stSheetSite);
48.
49. h.put("page", baos);
50.
51. byte[] buf = h.get("page").toString().getBytes();
52. ByteArrayInputStream bais = new ByteArrayInputStream(buf);
53. ObjectInputStream ois = new ObjectInputStream(bais);
54. stSheetC = (StylesheetRoot)ois.readObject();
This code works some hours before.
Then when i recompile this, i recieve following notifications:
java.io.NotSerializableException:
org.apache.xalan.xpath.xml.StringToStringTable
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:845)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:342)
at
java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1567)
at
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:453)
at
org.apache.xalan.xslt.ElemTemplateElement.writeObject(ElemTemplateElement.ja
va:254)
at java.lang.reflect.Method.invoke(Native Method)
at
java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1585)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:907)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:342)
at
java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1567)
at
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:453)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:911)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:342)
at
java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1567)
at
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:453)
at org.apache.xalan.xslt.Stylesheet.writeObject(Stylesheet.java:531)
at java.lang.reflect.Method.invoke(Native Method)
at
java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1585)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:907)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:342)
at labuda.processor.main(processor.java:47)
What happens? I'm using xalan1.2 & xerces1.3
For interests: at xalan1.1 i'm recieve following:
java.io.InvalidClassException: org.apache.xalan.xpath.XPath; Local class not
compatible: stream classdesc serialVersionUID=7785753160232117098 local
class serialVersionUID=7785753542484206442
at
java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:438)
at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:482)
at
java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:785)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:353)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:232)
at
java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:789)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:353)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:232)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:978)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at
java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:1831)
at
java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:502)
at org.apache.xalan.xslt.Stylesheet.readObject(Stylesheet.java:517)
at java.lang.reflect.Method.invoke(Native Method)
at
java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:1685)
at
java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1165)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:232)
at labuda.processor.main(processor.java:54)
Do you have any ideas about this? So can you suggest me how to clone
StylesheetRoot object with faster way than serialize/deserialize it?
WBR, Sergey S. Kljopov
P.S.: I'm not subscribed to this mailing list, so please reply to my e-mail
also.