1、JsonRpc概念
JSON-RPC是一种基于JSON的跨语言远程调用协议。有文本传输数据小,便于调试扩展的特点。
2、实现例子
a)项目1-api 编写rpc接口
ProductRpc.java
package com.imooc.api;
import java.util.List;
import com.googlecode.jsonrpc4j.JsonRpcService;
import com.imooc.api.domain.ProductRpcReq;
import com.imooc.entity.Product;
/**
* 产品相关的rpc服务
* @author zemel
*
*/
@JsonRpcService("rpc/products")
public interface ProductRpc {
/**
* 查询多个产品
* @param req
* @return
*/
List<Product> query(ProductRpcReq req);
/**
* 查询单个产品
* @param id
* @return
*/
Product findOne(String id);
}
package com.imooc.api.domain;
import java.math.BigDecimal;
import java.util.List;
/**
* 产品相关rpc请求对象
* @author zemel
*
*/
public class ProductRpcReq {
private List<String> idList;
private BigDecimal minRewardRate;
private BigDecimal maxRewardRate;
private List<Integer> statusList;
public List<String> getIdList() {
return idList;
}
public void setIdList(List<String> idList) {
this.idList = idList;
}
public BigDecimal getMinRewardRate() {
return minRewardRate;
}
public void setMinRewardRate(BigDecimal minRewardRate) {
this.minRewardRate = minRewardRate;
}
public BigDecimal getMaxRewardRate() {
return maxRewardRate;
}
public void setMaxRewardRate(BigDecimal maxRewardRate) {
this.maxRewardRate = maxRewardRate;
}
public List<Integer> getStatusList() {
return statusList;
}
public void setStatusList(List<Integer> statusL