|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jfox.ejb.InvocationHandlerSupport
所有的基于某个协议的 InvocationHandler 的父类
| Field Summary | |
protected ContainerInvoker |
invoker
|
protected ObjectId |
objectId
|
| Constructor Summary | |
InvocationHandlerSupport(ObjectId objectId,
ContainerInvoker invoker)
|
|
| Method Summary | |
ContainerInvoker |
getInvoker()
|
protected static long |
getMethodHash(java.lang.reflect.Method method)
得到一个 method 的 hashCode ,可以唯一的标志一个 method |
ObjectId |
getObjectId()
得到要访问的远程 EJBHome 或者 EJBObject 的 ObjectId |
java.lang.Object |
invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
接收由 DelegateInvocationHandler 转发来的 invoke 请求 可以实现通用的 Object 方法,比如:toString, hashCode 等 |
protected abstract java.lang.Object |
invokeBean(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
执行 Bean 的方法 |
protected abstract java.lang.Object |
invokeHome(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
来自 EJBHome 的方法 注意:要注意拦截来自 EJBHome 的请求 比如:create,这时,服务端返回的并不是一个 EJBObject 对象, 而是这个 EJBObject 对象的 ObjectId,所以必须在这里手动生成代理对象 |
protected void |
readObject(java.io.ObjectInputStream in)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected ObjectId objectId
protected ContainerInvoker invoker
| Constructor Detail |
public InvocationHandlerSupport(ObjectId objectId,
ContainerInvoker invoker)
| Method Detail |
public ObjectId getObjectId()
ClientInvocationHandler
getObjectId in interface ClientInvocationHandlerpublic ContainerInvoker getInvoker()
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 java.lang.reflect.InvocationHandlerproxy - the proxy instance that the method was invoked onmethod - the Method instance corresponding to
the interface method invoked on the proxy instance. The declaring
class of the Method object will be the interface that
the method was declared in, which may be a superinterface of the
proxy interface that the proxy class inherits the method through.args - an array of objects containing the values of the
arguments passed in the method invocation on the proxy instance,
or null if interface method takes no arguments.
Arguments of primitive types are wrapped in instances of the
appropriate primitive wrapper class, such as
java.lang.Integer or java.lang.Boolean.
null and the interface method's return type is
primitive, then a NullPointerException will be
thrown by the method invocation on the proxy instance. If the
value returned by this method is otherwise not compatible with
the interface method's declared return type as described above,
a ClassCastException will be thrown by the method
invocation on the proxy instance.
java.lang.Throwable - the exception to throw from the method
invocation on the proxy instance. The exception's type must be
assignable either to any of the exception types declared in the
throws clause of the interface method or to the
unchecked exception types java.lang.RuntimeException
or java.lang.Error. If a checked exception is
thrown by this method that is not assignable to any of the
exception types declared in the throws clause of
the interface method, then an
UndeclaredThrowableException containing the
exception that was thrown by this method will be thrown by the
method invocation on the proxy instance.UndeclaredThrowableException
protected abstract java.lang.Object invokeHome(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
throws java.lang.Exception
java.lang.Exception
protected abstract java.lang.Object invokeBean(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
throws java.lang.Exception
java.lang.Exception
protected void readObject(java.io.ObjectInputStream in)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundExceptionprotected static long getMethodHash(java.lang.reflect.Method method)
method -
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||