|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.openejb.core.ivm.BaseEjbProxyHandler
This InvocationHandler and its proxy are serializable and can be used by HomeHandle, Handle, and MetaData to persist and revive handles. It maintains its original client identity which allows the container to be more discerning about allowing the revieed proxy to be used. See StatefulContaer manager for more details.
Field Summary | |
RpcContainer |
container
The RpcContainer that the bean deployment this stub hanlder represents is deployed in. |
protected static boolean |
debug
|
java.lang.Object |
deploymentID
The unique id of the bean deployment that this stub handler represents. |
DeploymentInfo |
deploymentInfo
The DeployemtnInfo object if the bean deployment that this stub handler represents. |
(package private) static boolean |
doIntraVmCopy
|
boolean |
inProxyMap
|
(package private) boolean |
isInvalidReference
|
protected static java.util.Hashtable |
liveHandleRegistry
keeps track of live BaseEjbProxyHanlders in this VM. |
java.lang.Object |
primaryKey
The primary key of the bean deployment or null if the deployment is a bean type that doesn't require a primary key |
Constructor Summary | |
BaseEjbProxyHandler(RpcContainer container,
java.lang.Object pk,
java.lang.Object depID)
Constructs a BaseEjbProxyHandler representing the specifed bean deployment. |
Method Summary | |
protected abstract java.lang.Object |
_invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
Overridden by subclasses and called by invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) . |
protected abstract java.lang.Object |
_writeReplace(java.lang.Object proxy)
|
(package private) static void |
|
protected void |
checkAuthorization(java.lang.reflect.Method method)
Checks if the caller of the specified method is authorized to access and execute it. |
protected java.lang.Object[] |
copyArgs(java.lang.Object[] objects)
|
protected java.lang.Object |
copyObj(java.lang.Object object)
|
abstract ProxyInfo |
getProxyInfo()
|
protected java.lang.Object |
getThreadSpecificSecurityIdentity()
|
protected static void |
invalidateAllHandlers(java.lang.Object key)
|
void |
invalidateReference()
Invalidates this reference so that it can not be used as a proxy for the bean identity. |
java.lang.Object |
invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
Preserves the context of the current thread and passes the invoke on to the BaseEjbProxyHandler subclass where the Container will be asked to invoke the method on the bean. |
protected void |
log(InvalidateReferenceException ire)
|
protected static void |
registerHandler(java.lang.Object key,
BaseEjbProxyHandler handler)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static java.util.Hashtable liveHandleRegistry
public java.lang.Object deploymentID
public java.lang.Object primaryKey
public boolean inProxyMap
public transient DeploymentInfo deploymentInfo
public transient RpcContainer container
boolean isInvalidReference
static boolean doIntraVmCopy
protected static boolean debug
Constructor Detail |
public BaseEjbProxyHandler(RpcContainer container, java.lang.Object pk, java.lang.Object depID)
container
- The Container that the bean deployment this stub hanlder represents is deployed in.pk
- The primary key of the bean deployment or null if the deployment is a bean type that doesn't require a primary key.depID
- The unique id of the bean deployment that this stub handler will represent.Method Detail |
static void()
protected void checkAuthorization(java.lang.reflect.Method method) throws OpenEJBException
method
- The method the caller is attempting to execute.OpenEJBException
- If the caller does bot have adequate authorization to execute the specified method.protected java.lang.Object getThreadSpecificSecurityIdentity()
protected void log(InvalidateReferenceException ire)
public java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable
invoke
in interface InvocationHandler
proxy
- The Proxy object that represents this bean deployment's EJBObject or EJBHome.method
- The EJBHome or EJBObject method the caller is invoking.args
- The parameters to the mehtod being invokedjava.lang.Throwable
- protected abstract java.lang.Object _invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable
invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
. Subclasses implement the main behavior of calling invoke on the Container that the bean deployment lives in.proxy
- The Proxy subclass that is the bean's EJBObject or EJBHome.method
- The bean method that the caller is attempting to invoke.args
- The arguments to the method being invoked.java.lang.Throwable
- protected java.lang.Object[] copyArgs(java.lang.Object[] objects) throws java.io.IOException, java.lang.ClassNotFoundException
objects
- The object array you wish to dereference.protected java.lang.Object copyObj(java.lang.Object object) throws java.io.IOException, java.lang.ClassNotFoundException
object
- public void invalidateReference()
protected static void invalidateAllHandlers(java.lang.Object key)
protected abstract java.lang.Object _writeReplace(java.lang.Object proxy) throws java.io.ObjectStreamException
protected static void registerHandler(java.lang.Object key, BaseEjbProxyHandler handler)
public abstract ProxyInfo getProxyInfo()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |