JavaParty Logo

JavaParty

A distributed companion to Java
Current release 1.9.5

Bernhard Haumacher, Thomas Moschny and Michael Philippsen

Contents
General
 Features
 Requirements
 DownloadNew!
 Mailing ListsNew!
 Setup
 Quick Tour
 Command Reference
 API
Language
 Syntax
 Object Model
 Transparent Threads
 Distributed ThreadsCool!
 RMACool!
 Synchronization
 Object Location
displayed pageMigration
 Remote Threads
 Replicated ObjectsCool!
 Multi-Application
Tuning
 Debugging
 uka.transport
 KaRMICool!
 KaRMI API
 Myrinet/GM
 OpenPBS
Examples
 Hello JavaParty
 ObjectModel
 BenchmarksNew!
Other info
 Papers
 Trouble Shooting
 History


See also
 CJ
 Generic Java


Powered by
Apache Ant
SourceForge
Subversion

Object Migration

Remote objects can migrate to another node at runtime. Old references to them keep working. E.g. use the following call to migrate remote object obj to node n:

boolean success = jp.lang.DistributedRuntime.migrate(obj, n);

Please also have a look at the JavaParty API documentation.

All remote objects can migrate, except those with methods that are currently being executed, and those whose classes are declared resident. A class is declared resident by implementing the interface jp.lang.Resident. In the following code example, class R is declared resident:

remote class R implements jp.lang.Resident {
   ...
}

As you would expect form interface inheritance, the resident property is inherited by all subclasses and can not be revoked.

Migration enabling an object has some overhead for each method call on that object. Declaring classes resident which objects need no migration can safes this overhead and increase the performance of your application.


For comments and bug reports please use the JavaParty users mailing list.
Page design & maintenance: Bernhard Haumacher.
Last update: Fri Mar 30 18:46:00 GMT+01:00 2007
Java is a trademark of Sun Microsystems.