Help needed to test RMI patches

Mark Wielaard mark@klomp.org
Mon Nov 4 12:52:00 GMT 2002


Hi,

Last week I spend some time on merging the patches that the Orp
developers send for GNU Classpath. A big part of the patch was for our
RMI implementation. I have merged that into GNU Classpath now but I
don't have the time to test these changes myself. I tried to review the
changes as good as I could but this was the first time I ever looked at
the RMI code so I don't claim to understand all changes.

Is there someone that uses RMI and wants to test these changes?
(I can provide prebuild binaries of (lib)gcj for x86 or powerpc)

Do people want me to merge in the changes into libgcj (and review them)?
(Then I will double check the changes and post a real patch.)

ChangeLog follows of the relevant part. There were also changes to add
javax.rmi support but that is useless as long as we don't have
org.omg.CORBA support (Brian Jones is looking into that).

2002-10-31  Mark Wielaard <mark@klomp.org>:

  Merge Orp RMI patches from Wu Gansha <gansha.wu@intel.com>

  * java/rmi/MarshalledObject.java (equals): Check hashcode first.

  * java/rmi/server/RMIClassLoader.java (MyClassLoader): Create/Use
  annotation.
  (loadClass): Take String as codebases.
  (getClassAnnotation): Use MyClassLoader annotations.
  * java/rmi/server/UnicastRemoteObject.java (UnicastRemoteObject):
  call exportObject(this).

  * gnu/java/rmi/RMIMarshalledObjectOutputStream.java
  (RMIMarshalledObjectOutputStream): set locBytesStream and locStream.
  (setAnnotation): Don't set locBytesStream and locStream.
  (replaceObject): Removed.
  (flush): Don't test locStream.
  (getLocButes): LikeWise.
  * gnu/java/rmi/dgc/DGCImpl.java: extends UnicastServerRef.
  (leaseCache): New field.
  (dirty): Use leaseCache.
  (LeaseRecord): New inner class.
  * gnu/java/rmi/registry/RegistryImpl.java (RegistryImpl): Don't
  explicitly call exportObject().
  * gnu/java/rmi/registry/RegistryImpl_Stub.java: set useNewInvoke to
  false to communicate with Sun JDK130.
  * gnu/java/rmi/server/ConnectionRunnerPool.java: Add CPU comment.
  * gnu/java/rmi/server/RMIObjectInputStream.java
  (UnicastConnectionManager): Removed field.
  * gnu/java/rmi/server/RMIObjectOutputStream.java (replaceObject):
  Use UnicastServer.getExportedRef().
  * gnu/java/rmi/server/UnicastConnection.java (reviveTime): New field.
  (expireTime): Likewise.
  (CONNECTION_TIMEOUT): Likewise.
  (disconnect): Call sock.close().
  (isExpired): New method.
  (resetTime): Likewise.
  (run): Use do while loop and catch Exception for discardConnection().
  * gnu/java/rmi/server/UnicastConnectionManager.java: Pool connections.
  * gnu/java/rmi/server/UnicastRef.java: Lots of changes.
  * gnu/java/rmi/server/UnicastRemoteCall.java: Lots of changes.
  * gnu/java/rmi/server/UnicastServer.java (refcache): New field.
  (exportObject): Use refcache.
  (unexportObject): Likewise.
  (getExportedRef): New method.
  * gnu/java/rmi/server/UnicastServerRef.java (UnicastServerRef): New
  constructor.
  (exportObject): Save manager.serverobj.
  (getStub): New method.

Cheers,

Mark



More information about the Java mailing list