jasco.runtime.distribution
Class DistributedInvoker

java.lang.Object
  extended by jasco.runtime.distribution.DistributedInvoker

public class DistributedInvoker
extends java.lang.Object


Nested Class Summary
protected  class DistributedInvoker.Invoker
           
 
Method Summary
 java.lang.Object generateTransparantProxy(ObjectFutureWrapper wrapper, MethodJoinpoint jp)
           
static DistributedInvoker getInstance()
           
 ObjectFutureWrapper invokeASynchronous(DistributedAdviceExecution adviceExecution)
           
 java.lang.Object invokeRemoteASynchronous(DistributedAdviceExecution adviceExecution)
           
 java.lang.Object invokeRemoteSynchronous(DistributedAdviceExecution adviceExecution)
          What this method should do is invoke the DistributedInvoker.invokeSynchronous method on the correct host in a synchronous manner.
 java.lang.Object invokeSynchronous(DistributedAdviceExecution adviceExecution)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static DistributedInvoker getInstance()

invokeRemoteSynchronous

public java.lang.Object invokeRemoteSynchronous(DistributedAdviceExecution adviceExecution)
What this method should do is invoke the DistributedInvoker.invokeSynchronous method on the correct host in a synchronous manner. The host can be fetched from the adviceExecution argument. The invoked method will take care of executing the advice etc... I will also make sure that the DistributedInvoker.invokeRemoteSynchronous method is executed from synchronous advices (have to alter compiler for that). Thats all that needs to be changed to the distributed implementation. The joinpoints still need to be broadcasted for asynch advice execution. I will just make sure that synch advices are not executed on such joinpoints.


invokeSynchronous

public java.lang.Object invokeSynchronous(DistributedAdviceExecution adviceExecution)

invokeRemoteASynchronous

public java.lang.Object invokeRemoteASynchronous(DistributedAdviceExecution adviceExecution)

generateTransparantProxy

public java.lang.Object generateTransparantProxy(ObjectFutureWrapper wrapper,
                                                 MethodJoinpoint jp)

invokeASynchronous

public ObjectFutureWrapper invokeASynchronous(DistributedAdviceExecution adviceExecution)