« Beware of Apache Ant Tar task | Main | WSDM versus WS-Management »

Disappointed in J2SE5.0

Putting behind an earlier mishap with J2SE5.0 beta, I ventured to try out the final release of J2SE5.0 with the same set of programs: an Apache Axis based server program running within BEA Weblogic Server and an Eclipse RCP based client. I should point out that in the last attempt both programs had failed with NullPointerException within XML processing.

Thankfully, XML processing problems seems to have been resolved, at least for some cases. But still a long way to go. This time, the server program failed with the following message:

[java] The WebLogic Server did not start up properly.
[java] java.io.InvalidClassException: javax.management.MBeanAttributeInfo;local class incompatible: stream classdesc serialVersionUID = 7043855487133450673, local class serialVersionUID = 8644704819898565848
[java] at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java
[java] at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
... other stuff omitted ...

I didn't spend much time trying to figure out what is going, but from first glance it appears that J2SE5.0 JVM doesn't like the classes created by earlier versions!!

The client program also failed, again in XML processing:

Error invoking '{http://schemas.hp.com/wsmf/2003/03/Foundation}ManagedObjectDiscoveryPT GetSpecificRelationships' operation.
at java.util.Hashtable.put(Hashtable.java:396)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.setProperty(SAXParserImpl.java:385)
... other stuff omitted ...

I should mention that both these programs run flawlessly under J2SE1.4.x.

Such poor backward compatibility is indeed cause of concern and disappointment.

Comments (3)


What backward compatibility?

javax.management.MBeanAttributeInfo is new in Java 1.5.

Whatever beta/pre-release version of the MBeans you were using in 1.4 probably won't be compatible with the code in 1.5.

Here's the relevant JavaDoc:

package javax.management;

import java.lang.reflect.Method;
import java.security.AccessController;
import java.security.PrivilegedAction;

import com.sun.jmx.mbeanserver.GetPropertyAction;

* Describes an MBean attribute exposed for management. Instances of
* this class are immutable. Subclasses may be mutable but this is
* not recommended.
* @since 1.5


Weblogic would be the last thing I would try on a new JDK. They write somethings that are tied very closely to a particular JDK...which is why on Windows they ship with a a JRE. The slightest change in API (which is allowed in major version changes) will mess up Weblogic. Other things run fine without changes, such as Tomcat and I've even heard someone got IDEA going on it.

BEA has been nortorious about what JDK they run on. They were the last vendor to get up and running on JDK 1.4 in fact. (Well, ok, maybe Webshere)


what a stupid reason to be disappointed.


This page contains a single entry from the blog posted on October 5, 2004 6:47 AM.

The previous post in this blog was Beware of Apache Ant Tar task.

The next post in this blog is WSDM versus WS-Management.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.33