I am afraid, that is not enough. However, it is much better than getting an NPE in resolveClass.
My first example was a bit too simple. In our scenario we have our own remote method invocation mechanism. This allows us to very easily change the used transport and various parameters (TCP, SSL, XML-encoded, HTTP or even using RMI itself internally). We have a class similar to this:
public class RemoteMethodInv
static interface NonSerialisable
Now if we want to call a method remotely which has a parameter of type NonSerialisabe, the invocation will always fail with Mina 2. But such a remote call is completely legal, as long as the corresponding parameter value is serialisable. Even using null as value fails, and null is very well serialisable.
I am not sure why Mina 2 uses an own (anonymous) ObjectInputStream at all, while Mina 1.1.7 does not. Maybe one can adapt the anonymous input stream to use more of its superclass. The default java.io.ObjectInputStream does not have this problem, which is no surprise since it may call lookup(Class, boolean).