org.ow2.carol.cmi.rpc
Class POJOInvocationHandler

java.lang.Object
  extended by org.ow2.carol.cmi.rpc.CMIInvocationHandler
      extended by org.ow2.carol.cmi.rpc.POJOInvocationHandler
All Implemented Interfaces:
java.lang.reflect.InvocationHandler

@ThreadSafe
public class POJOInvocationHandler
extends org.ow2.carol.cmi.rpc.CMIInvocationHandler

This is the standard InvocationHandler of a CMIProxy. It is created by CMIProxyFactory.newCMIProxy(ClusterViewManager, String, String). The CMIProxy intercepts the invocation of method of the clustered stateless POJOs.

Author:
The new CMI team
See Also:
CMIProxyFactory

Field Summary
 
Fields inherited from class org.ow2.carol.cmi.rpc.CMIInvocationHandler
clusterViewManager, objectName, protocolName
 
Constructor Summary
POJOInvocationHandler(java.lang.ClassLoader classLoader, org.ow2.carol.cmi.controller.common.ClusterViewManager clusterViewManager, java.lang.String objectName, java.lang.String protocolName, java.lang.Class<?> itf)
          Build a new CMI Invocation Handler.
 
Method Summary
protected  java.lang.Object invokeRemoteMethod(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
          Handles remote methods.
protected  java.lang.String proxyToString(java.lang.Object proxy)
          Returns a string representation for a proxy that uses this invocation handler.
 
Methods inherited from class org.ow2.carol.cmi.rpc.CMIInvocationHandler
getCurrentRef, invoke, onExceptionHook, postInvokeHook, preInvokeHook, setClassLoader, setCurrentRef
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

POJOInvocationHandler

public POJOInvocationHandler(java.lang.ClassLoader classLoader,
                             org.ow2.carol.cmi.controller.common.ClusterViewManager clusterViewManager,
                             java.lang.String objectName,
                             java.lang.String protocolName,
                             java.lang.Class<?> itf)
Build a new CMI Invocation Handler.

Parameters:
classLoader - the classloader to use (when the smart factory is used, it is the smart classloader)
clusterViewManager - A manager of the cluster view
objectName - a name of the object
protocolName - a protocol to perform the invocation
itf - interface of the object
Method Detail

invokeRemoteMethod

protected java.lang.Object invokeRemoteMethod(java.lang.Object proxy,
                                              java.lang.reflect.Method method,
                                              java.lang.Object[] args)
                                       throws POJOInvocationHandlerException,
                                              java.lang.Throwable
Handles remote methods.

Overrides:
invokeRemoteMethod in class org.ow2.carol.cmi.rpc.CMIInvocationHandler
Throws:
CMIInvocationHandlerException - if a server cannot be chosen
java.lang.Throwable - if the invocated method throws an exception
POJOInvocationHandlerException

proxyToString

protected java.lang.String proxyToString(java.lang.Object proxy)
Returns a string representation for a proxy that uses this invocation handler.

Overrides:
proxyToString in class org.ow2.carol.cmi.rpc.CMIInvocationHandler


Copyright © 2007 OW2 Consortium. All Rights Reserved.