Hi, It is interesting question. What are advantages of such serialization model? IMHO majority of Java classes in the world have static fields. :-) What are usage patterns of this class?
Thanks, 2006/11/16, Andrew Zhang <[EMAIL PROTECTED]>:
On 11/13/06, Mikhail Loenko <[EMAIL PROTECTED]> wrote: > > I guess that Sun has implemented some behavior and some exception > could be thrown by that implementation. Sorry for my late reply... Just back from travelling. :) I don't quite get the point. What does "that implementation" mean? Is it invoked in SerialJavaObject constructor? Then they wrapped that exception > by SerialException and documented in the spec ;) > > You might want to implement it without exception throwing and if we find > an > inconsistency later -- fix it ya, I'd like to follow this way. If we find any problem, fix it then. :-) If no one objects, I'll ignore static/transient check in the constructor. Thanks! Thanks, > Mikhail > > 2006/11/12, Andrew Zhang <[EMAIL PROTECTED]>: > > Hi folks, > > > > I'm confused by javax.sql.rowset.serial.SerialJavaObject spec. The spec > of > > SerialJavaObject constructor says "throws SerialException if the object > is > > found to be unserializable". It also mentions "Static or transient > fields > > cannot be serialized; an attempt to serialize them will result in a > > SerialException object being thrown. ". Does it mean to throw > > SerialException if the object doesn't implement Serializable or it > contains > > static/transient fields? I tried some tests[1], but SerialException is > never > > thrown. Am I missing something? Thank you in advance for your help! > > > > [1] SerialJavaObject constructor test case: > > public void test_Constructor() throws Exception { > > Object obj = new NonSerializableClass(); > > SerialJavaObject sjo = new SerialJavaObject(obj); > > } > > > > static class NonSerializableClass { > > public static int i; > > public static Thread t; > > public transient String s; > > NonSerializableClass() { > > > > } > > }
-- Alexei Zakharov, Intel Enterprise Solutions Software Division