public void run()

in src/main/java/org/apache/dubbo/proxy/worker/RequestWorker.java [59:81]


    public void run() {
        String serviceID = serviceDefinition.getServiceID();
        String interfaze = Tool.getInterface(serviceID);
        String group = Tool.getGroup(serviceID);
        String version = Tool.getVersion(serviceID);
        if (serviceDefinition.getParamTypes() == null && serviceDefinition.getParamValues() != null) {
            String[] types = getTypesFromMetadata(serviceDefinition.getApplication(), interfaze, group, version,
                    serviceDefinition.getMethodName(), serviceDefinition.getParamValues().length);
            serviceDefinition.setParamTypes(types);
        }
        Object result;
        try {
            result = GenericInvoke.genericCall(interfaze,group, version,
                    serviceDefinition.getMethodName(),
                    serviceDefinition.getParamTypes(), serviceDefinition.getParamValues());
        } catch (Exception e) {
            e.printStackTrace();
            result = e;
        }
        if (!writeResponse(ctx, result)) {
            ctx.writeAndFlush(Unpooled.EMPTY_BUFFER).addListener(ChannelFutureListener.CLOSE);
        }
    }