Spring不使用zk,直接呼叫dubbo介面方法
1、配置檔案spring-dubbo-consumer.xml
<?xml version="1.1" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="test" />
<dubbo:reference id="demoService" timeout="3000" version="1.0.0" generic="true" interface="txt/com.DemoService" url="dubbo://127.0.0.1:20880"/>
</beans>
2、TestDemo.java
package com;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.alibaba.dubbo.common.json.JSONObject;
import com.alibaba.dubbo.rpc.service.GenericService;
public class TestDemo {
public static void main(String[] args) throws InterruptedException {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"spring-dubbo-consumer.xml");
context.start();
GenericService genericService = (GenericService) context.getBean("demoService");
Object result = genericService.$invoke(
"queryUser", new String[] {
"java.lang.String"}, new Object[] { "10100000006340001" });
System.out.println(com.alibaba.fastjson.JSONObject.toJSONString(result));
context.close();
}
}
注意配置的介面名稱和provider裡面的保持一致即可,如果不一致會報錯,按照錯誤資訊修改即可,如這裡的demo在前面加了txt/