美文网首页
Motan Restful Server分析

Motan Restful Server分析

作者: clive0x | 来源:发表于2020-07-17 15:57 被阅读0次

入口点在RestfulServletContainerListener类,通过resteasy.injector.factory设置RestfullInjectorFactory,对方法进行动态修改(类似invocationhandler),JAX-RS调用动态修改为对Provider调用。

调协resteasy.providers设置@Provider,明确错误输出。(与之相反的输入为@Consumer)。

在Server初始化时,调用server.getDeployment().getRegistry().addResourceFactory(new ProviderResource<T>(provider));

加入motan定制ResourceFactory,ResourceFactory主要用于加载Resource对应的被代理类。

public void registered(ResteasyProviderFactory factory) {

        factory.getInjectorFactory().createPropertyInjector(resourceClass, factory).inject(provider.getImpl());

    }

    public Object createResource(HttpRequest request, HttpResponse response, ResteasyProviderFactory factory) {

        return provider;

    }

总体还是使用RestfullInjectorFactory提供的MethodInjector和PropertyInjector,动态替代method.invoke和resource支撑类.

NettyEndpointFactory代码更明显,使用RestfulInjectorFactory动态修改方法和支撑类。

相关文章

网友评论

      本文标题:Motan Restful Server分析

      本文链接:https://www.haomeiwen.com/subject/fpwghktx.html