Доступ к свойствам FactoryBean через динамические прокси-объекты - PullRequest
0 голосов
/ 09 сентября 2018

В моем проекте есть сторонняя библиотека RPC, я хочу создать динамический прокси для службы rpc p, чтобы я мог регистрировать запрос и ответ rpc , Как я могу получить метаинформацию о службе? как удаленный сервер IP и порт? Служба rpc генерируется классом FactoryBean, который содержит метаинформацию.

class RPCClientProxy implements FactoryBean {
    //meta info
    String remoteIp;
    int remotePort;

    public Object getObject() {
        generate by spring's ProxyFactory
    }
}

class MyBeanPostProcessor implement BeanPostProcessor {
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        Class clazz = bean.getClass();
        Class[] interfaces = clazz.getInterfaces();

        for (Class interfaze : interfaces) {
            if (interfaze.getName().enWith("xxx") {
               genreate class which can log rpc request and response by jkd dynamic proxy
            }
        }

}

class MyRPCCallInvocationHandler implements InvocationHandler {
    public Object invoke(Object proxy, final Method method, final Object[] args) throws Throwable {
        here I wanna access the meta info in the FactoryBean class
    }
}
...