package org.apache.dubbo.samples.generic.call.api;
public abstract class A
public class B extends A
public interface HelloService {
String sayHello(A a);
Map parameter = new HashMap();
parameter.put("class", "org.apache.dubbo.samples.generic.call.api.B");
parameter.put("name", "qinliujie");
Object result = genericService.$invoke("sayHello", new String[]{"org.apache.dubbo.samples.generic.call.api.A"}, new Object[]{parameter});
接口定义:
SingleResult<CalculateSalaryFeedbackDTO> getCalculateSalaryFeedback(Long customerId, String salaryType, String requestId, Pair<String, Long> calculateSettingPair);
泛化调用:
` Map<String, Object> pairMap = Maps.newHashMap();
pairMap.put("left", 3L);
pairMap.put("right", 4L);
pairMap.put("class", "org.apache.commons.lang3.tuple.MutablePair");
Object result = genericService.$invoke("getCalculateSalaryFeedback",
new String[] { "java.lang.Long", "java.lang.String", "java.lang.String", "org.apache.commons.lang3.tuple.Pair"},
new Object[] { 1L, "2", "3", pairMap});
System.out.println(result);`
you can put "class" key with Chinese class full name for value in your Pojo Map when generic invoke
thanks
接口定义:
SingleResult<CalculateSalaryFeedbackDTO> getCalculateSalaryFeedback(Long customerId, String salaryType, String requestId, Pair<String, Long> calculateSettingPair);
泛化调用:
` Map<String, Object> pairMap = Maps.newHashMap();
pairMap.put("left", 3L);
pairMap.put("right", 4L);
pairMap.put("class", "org.apache.commons.lang3.tuple.MutablePair");
Object result = genericService.$invoke("getCalculateSalaryFeedback",
new String[] { "java.lang.Long", "java.lang.String", "java.lang.String", "org.apache.commons.lang3.tuple.Pair"},
new Object[] { 1L, "2", "3", pairMap});
System.out.println(result);`
好的 我明白了 谢谢
you can do it like that
package org.apache.dubbo.samples.generic.call.api;
public abstract class A
public class B extends A
public interface HelloService {
String sayHello(A a);
Map parameter = new HashMap();
parameter.put("class", "org.apache.dubbo.samples.generic.call.api.B");
parameter.put("name", "qinliujie");
Object result = genericService.$invoke("sayHello", new String[]{"org.apache.dubbo.samples.generic.call.api.A"}, new Object[]{parameter});