Hey

I have tracked down the serialiazation problem I mentioned previously,
and it's a really nasty one. It seems the EJB-package has fallen prey to
the same bug as JNDI had a month ago: classes which have been installed
in the /ext path cannot access classes in the application classpath by
default. This is what happened with the deployment descriptor
deserialization: since Field:s are not serializable the
EntityDescriptor-class implements "read/writeObject" and substitutes the
fields with serializable info. Fine. But when readObject tries to
restore the fields it uses Class.forName to get the bean class in order
to, by use of introspection, find the Field:s. Since the EJB-classes
were installed as an extension it must instead use the JDK1.2 method
Thread.getContextClassLoader() to acquire a classloader which can access
application level classes. By not doing this it effectively prevents the
EJB-package to be installed as an extension to JDK1.2.

The JNDI team had this exact bug in the JNDI-package some time ago and
came out with a fix rather hastily. It would be much appreciated if the
EJB folks does the same.

Thanks!

/Rickard

--
Rickard �berg

Computer Science student@LiTH
@home: +46 13 177937
Email: [EMAIL PROTECTED]
Homepage: http://www-und.ida.liu.se/~ricob684

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to