广州凡科互联网科技有限公司

营业时间
MON-SAT 9:00-18:00

全国服务热线
18720358503

公司门店地址
广州市海珠区工业大道北67号凤凰创意园

springboot+dubbo 亲自测试rest协议书适用

日期:2021-04-02 浏览:

dubbo

今日花了一中午的時间搞了一下dubbo service适用http浏览的demo
从dubbo 2.6.0 刚开始dubbo早已适用了http浏览service的,在网上也找了一下我的自然环境是springboot+dubbo的,在网上的dubbo全是用xml去配备的,我的是springboot沒有xml

1)改动配备

注解原先的dubbo配备

#spring.dubbo.protocol.name = dubbo
#spring.dubbo.protocol.port = 21017

改动成

spring.dubbo.protocols.dubbo.name=dubbo
spring.dubbo.protocols.dubbo.port=21017
spring.dubbo.protocols.rest.name=rest
spring.dubbo.protocols.rest.port=31017
spring.dubbo.protocols.rest.server=tomcat
2)加上依靠
 dependency 
 groupId javax.ws.rs /groupId 
 artifactId javax.ws.rs-api /artifactId 
 version 2.0 /version 
 /dependency 
 !-- dependency 
 .jboss.resteasy /groupId 
 artifactId resteasy-jaxrs /artifactId 
 version 3.0.19.Final /version 
 /dependency -- 
 dependency 
 .jboss.resteasy /groupId 
 artifactId resteasy-client /artifactId 
 version 3.0.19.Final /version 
 /dependency 
 !-- dependency 
 .ponents /groupId 
 artifactId httpclient /artifactId 
 version 4.5.2 /version 
 /dependency -- 
 !-- dependency 
 .alibaba /groupId 
 artifactId fastjson /artifactId 
 version 1.2.7 /version 
 /dependency -- 
 dependency 
 .springframework.boot /groupId 
 artifactId spring-boot-starter-tomcat /artifactId 
 /dependency 
 dependency 
 .hibernate.validator /groupId 
 artifactId hibernate-validator /artifactId 
 version 6.0.13.Final /version 
 /dependency 
 !-- dependency 
 groupId javax.el /groupId 
 artifactId javax.el-api /artifactId 
 version 3.0.1-b06 /version 
 /dependency -- 
 !-- dependency 
 .glassfish.web /groupId 
 artifactId javax.el /artifactId 
 version 2.2.6 /version -- 
 /dependency !--处理回到数据信息变为json-- 
 !-- dependency -- 
 !-- .jboss.resteasy /groupId -- 
 !-- artifactId resteasy-jackson-provider /artifactId -- 
 !-- version ${resteasy.version} /version -- 
 !-- /dependency -- 
3)改动完成类,官方网也是那么提议的
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
 * @Path 加上浏览作为前缀 
 * @GET 应用get浏览
 * @Produces 就是指回到给消費者的情况下,是以json文件格式回到,假如是目标,会全自动变换成json
 * @Service 注释加上要适用的协议书,上边的检测编码是适用二种协议书
 * 官方网文本文档 /docs/user/references/
@Slf4j
@Component
@Service(interfaceClass = OrderDemoService.class,protocol = {"rest","dubbo"})
@Path("/order")
public class OrderDemoServiceImpl implements OrderDemoService {
 @Path("/get")
 @GET
 @Produces({MediaType.APPLICATION_JSON + "; " + MediaType.CHARSET_PARAMETER + "=UTF-8"})
 @Override
 public String getOrder() {
 return "";
}

我这检测根据了

4)JSON返会的难题

目标或map回到的情况下会提醒

 

 !--处理回到数据信息变为json-- 
 dependency 
 .jboss.resteasy /groupId 
 artifactId resteasy-jackson-provider /artifactId 
 version 3.0.19.Final /version 
 /dependency 
说一放网上找的材料歪斜确的

springboot+dubbo 多协议书的配备

dubbo.protocols.dubbo.name=dubbo
dubbo.protocols.dubbo.port=20017
dubbo.protocols.rest.name=rest
dubbo.protocols.rest.port=30017
dubbo.protocols.rest.server=tomcat

結果我起动的情况下提醒

java.lang.NullPointerException: beanName=orderDemoServiceImpl, registry=rest not found in multi configs

也有一种配备是加上配备类

@Configuration
@Slf4j
public class config {
 @Bean("dubbo")
 public ProtocolConfig dubboProtocolConfig() {
 ProtocolConfig protocolConfig = new ProtocolConfig();
 protocolConfig.setName("dubbo");
 int port = 20016;
 ("dubbo provider dubbo port = {}", port);
 protocolConfig.setPort(port);
 protocolConfig.setId("dubbo");
 protocolConfig.setServer(null);
 return protocolConfig;
 @Bean("rest")
 public ProtocolConfig restProtocolConfig() {
 ProtocolConfig protocolConfig = new ProtocolConfig();
 protocolConfig.setName("rest");
 int port = 30016;
 ("dubbo provider rest port = {}", port);
 protocolConfig.setPort(port);
 protocolConfig.setId("rest");
 protocolConfig.setServer("tomcat");
 return protocolConfig;
}

還是一样的不正确提醒

java.lang.NullPointerException: beanName=orderDemoServiceImpl, registry=rest not found in multi configs

大约的含意是说找不着rest协议书的配备,

 



新闻资讯

联系方式丨CONTACT

  • 全国热线:18720358503
  • 传真热线:18720358503
  • Q Q咨询:2639601583
  • 企业邮箱:2639601583@qq.com

首页
电话
短信
联系