4.2 Implementing Remote Support Between Spring 2.5.6 Server Applications and 3.0 Client Applications

The build process for the remote support has changed; we no longer generate the stub and skeleton classes that were used for the RmiInvocationWrapper class. These classes are no longer needed with Spring 3.0.

However, if you have a Spring 2.5.6 server application accessed by a new Spring 3.0 client application, then you do need the stub class. You can simply include the org.springframework.remoting.rmiRmiInvocationWrapper_Stub.class from Spring 2.5.6 in the classpath of the Spring 3.0 client application.

If you prefer, another way of achieving this is to create a "compatibility" jar containing the 2.5.6 stub class. Open a command window and change the current directory to the directory in which you extracted the most recent Spring Framework 2.5.6 download.

Extract the needed class with the jar utility (ships with your Java distribution):

jar -xvf modules/spring-context.jar org/springframework/remoting/rmi/RmiInvocationWrapper_Stub.class

You should see this message:

inflated: org/springframework/remoting/rmi/RmiInvocationWrapper_Stub.class

Create the compatibility jar, again using the jar utility:

jar -cvf spring-2.5.6-rmi-compatibility.jar org/springframework/remoting/rmi

This command creates a jar file in the current directory that you can add to the classpath of the Spring 3.0 client application.