В моем проекте есть сторонняя библиотека 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
}
}