intercept method calls (on the client and on the server side)
-------------------------------------------------------------

                 Key: XMLRPC-135
                 URL: https://issues.apache.org/jira/browse/XMLRPC-135
             Project: XML-RPC
          Issue Type: Improvement
    Affects Versions: 3.0, 3.1
            Reporter: Mario Linke
            Priority: Critical
             Fix For: 3.0, 3.1


This extension is to integrate cross-cutting concerns (AOP), how stopping the 
time, logging or transform args and return value.

public interface Interceptor {
        
        public void beforeMethodInvocation (InterceptorContext 
pInterceptorContext);

        public void afterMethodInvocation (InterceptorContext 
pInterceptorContext);

        public void onError (Throwable pThrowable);     
}


public final class InterceptorContext {
        
        private Method method = null;
        private Object[] args = null;
        private Object result = null;

}

InterceptorContext  is analog to the XmlRpcRequest, extended to the result and 
the method object.

Extend the XmlRpcController to register the Interceptors:

- addInterceptor
- removeInterceptor
- getInterceptorByNumber

and delegate before and after event:

by the client to XmlRpcWorker
by the server to the XmlRpcHandler


Mario

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to