com.kedwards.swt
Class ActivationLauncher

java.lang.Object
  |
  +--com.kedwards.swt.ActivationLauncher

public class ActivationLauncher
extends java.lang.Object

ActivationLauncher.java

See http://www.kedwards.com/jini

No warranty expressed or implied; use at your own risk; for educational purposes only.

Author:
Keith Edwards

Constructor Summary
ActivationLauncher(java.lang.String className, java.lang.String classpath, java.lang.String security, java.lang.String logFilePath)
           
 
Method Summary
protected static java.lang.String canonicalize(java.lang.String classpath)
          The classpath for the setup VM may have whacked out stuff in it, like relative paths, etc., that won't work when transfered to the rmid VM.
protected  java.rmi.activation.ActivationDesc createActivationDescriptor(java.rmi.activation.ActivationGroupID gid, java.lang.Class actClass, java.io.File logFile)
          declare: public static ActivationDesc createActivationDescriptor() on your ActivatableServiceBackend to override.
protected static java.lang.reflect.Method findMethod(java.lang.Class klass, java.lang.String name)
           
protected static java.lang.reflect.Method findMethod(java.lang.Class klass, java.lang.String name, java.lang.Class[] argTypes)
           
 void launch()
           
static void main(java.lang.String[] args)
           
protected  java.rmi.activation.ActivationGroupID registerActivationGroup(java.lang.Class actClass)
          declare: public static ActivationGroup createActivationGroup() on your ActivatableServiceBackend class to override.
protected  java.rmi.Remote registerAndCreateRemoteStub(java.rmi.activation.ActivationDesc desc, java.lang.Class actClass)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ActivationLauncher

public ActivationLauncher(java.lang.String className,
                          java.lang.String classpath,
                          java.lang.String security,
                          java.lang.String logFilePath)
                   throws java.lang.ClassNotFoundException,
                          java.io.IOException
Method Detail

launch

public void launch()
            throws java.lang.Exception

findMethod

protected static java.lang.reflect.Method findMethod(java.lang.Class klass,
                                                     java.lang.String name)

findMethod

protected static java.lang.reflect.Method findMethod(java.lang.Class klass,
                                                     java.lang.String name,
                                                     java.lang.Class[] argTypes)

registerActivationGroup

protected java.rmi.activation.ActivationGroupID registerActivationGroup(java.lang.Class actClass)
                                                                 throws java.rmi.activation.ActivationException,
                                                                        java.rmi.RemoteException
declare: public static ActivationGroup createActivationGroup() on your ActivatableServiceBackend class to override.

createActivationDescriptor

protected java.rmi.activation.ActivationDesc createActivationDescriptor(java.rmi.activation.ActivationGroupID gid,
                                                                        java.lang.Class actClass,
                                                                        java.io.File logFile)
                                                                 throws java.rmi.activation.ActivationException,
                                                                        java.io.IOException
declare: public static ActivationDesc createActivationDescriptor() on your ActivatableServiceBackend to override. Default implementation creates a new activation descriptor using the group returned from createActivationGroup. It uses the previously set classpath and causes immediate restart of the registered object (rather than start-on-demand).

registerAndCreateRemoteStub

protected java.rmi.Remote registerAndCreateRemoteStub(java.rmi.activation.ActivationDesc desc,
                                                      java.lang.Class actClass)
                                               throws java.rmi.activation.ActivationException,
                                                      java.rmi.activation.UnknownGroupException,
                                                      java.rmi.RemoteException

canonicalize

protected static java.lang.String canonicalize(java.lang.String classpath)
The classpath for the setup VM may have whacked out stuff in it, like relative paths, etc., that won't work when transfered to the rmid VM. This code walks the classpath and cleans it up.

main

public static void main(java.lang.String[] args)