This content has been marked as final.
Show 1 reply
-
1. Re: ShrinkWrapStandardContext and Serializable
alrubinger Jun 30, 2010 3:13 PM (in response to alrubinger)Of course, we could be up a creek on this one. A simple test:
/** * Ensures we can serialize/deserialize roundtrip */ @Test public void serializeAndDeserialize() throws Exception { // Make a context final ShrinkWrapStandardContext context = new ShrinkWrapStandardContext(ShrinkWrap.create(JavaArchive.class, "archive.jar").addClass(SerializationUnitTestCase.class)); // Serialize final ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); final ObjectOutputStream out = new ObjectOutputStream(byteOut); out.writeObject(context); out.flush(); out.close(); final ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(byteOut.toByteArray())); final ShrinkWrapStandardContext roundtrip = (ShrinkWrapStandardContext) in.readObject(); in.close(); }
...yields that we now have a problem we might not be able to control:
java.io.NotSerializableException: org.apache.catalina.util.LifecycleSupport at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326) at org.jboss.shrinkwrap.tomcat.test.SerializationUnitTestCase.serializeAndDeserialize(SerializationUnitTestCase.java:66)
S,
ALR