commit | ac5d40f24effe7ec3b8ce37a8e23db550484cf89 | [log] [tgz] |
---|---|---|
author | wuwen <wuwen.55@gmail.com> | Thu Apr 02 10:53:06 2015 +0800 |
committer | wuwen <wuwen.55@gmail.com> | Thu Apr 02 10:57:30 2015 +0800 |
tree | c79c47fc672ea89098ac4e8d96c2dd8b5043a3e2 | |
parent | 4fafbf18db8d259a30e44df634f1ec3a0cf3de8b [diff] |
增加Jackson依赖
<dependency> <groupId>com.ofpay</groupId> <artifactId>dubbo-rpc-jsonrpc</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency>
Define jsonrpc protocol:
<dubbo:protocol name="jsonrpc" port="8080" server="jetty" />
Set default protocol:
<dubbo:provider protocol="jsonrpc" />
Set service protocol:
<dubbo:service protocol="jsonrpc" />
Multi port:
<dubbo:protocol id="jsonrpc1" name="jsonrpc" port="8080" /> <dubbo:protocol id="jsonrpc2" name="jsonrpc" port="8081" />
Jetty Server: (default)
<dubbo:protocol ... server="jetty" />
Maven:
<dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty</artifactId> <version>6.1.26</version> </dependency>
Servlet Bridge Server: (recommend)
<dubbo:protocol ... server="servlet" />
web.xml:
<servlet> <servlet-name>dubbo</servlet-name> <servlet-class>com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dubbo</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>
注意,如果使用servlet派发请求:
协议的端口<dubbo:protocol port=“8080” />必须与servlet容器的端口相同, 协议的上下文路径<dubbo:protocol contextpath=“foo” />必须与servlet应用的上下文路径相同。
JAVA API
public interface PhoneNoCheckProvider { /** * 校验号码是否受限 * @param operators 运营商 * @param no 号码 * @param userid 用户编号 * */ boolean isPhoneNoLimit(Operators operators, String no, String userid); }
Client
curl -i -H 'content-type: application/json' -X POST -d '{"jsonrpc": "2.0", "method": "isPhoneNoLimit", "params": [ "MOBILE", "130000", "A001"], "id": 1 }' 'http://127.0.0.1:18080/com.ofpay.api.PhoneNoCheckProvider'