当前位置: 首页 > 知识库问答 >
问题:

Spring启动-从另一个微服务获取数据

爱茂勋
2023-03-14

我正在为我的API使用Spring Boot。我正在重写我的API,以采用微服务体系结构。

我有两门课:

1) 产品

2) 配料

我的代码:

以下是我的产品类别:

    public class Product{
       private String name;
       @ElementCollection
       private List<Long> productIngredients = new ArrayList<>(); //Ingredient
       private Double quantity = 0.0;
       private Double productCost = 0.0;
}

这是我的配料课:

public class Ingredient{    
     private String name;
     private String unit;
     private Double quantity = 0.0;
}

在产品微服务中,我正在对成分微服务进行API调用:

// Making a call to the Ingredients microservice from the product microservice

WebClient myWebClient = WebClient.create("http://localhost:8090/api");

@GetMapping("/ingredients/get")
public Flux<Product> getIngredients(){
   
        return myWebClient
                .get()
                .uri("/ingredients/ingredient/list")
                .retrieve()
                .bodyToFlux(Product.class);
}

但是,上面的getComponents()方法不起作用。

我的问题:

我想从Component microservice获取数据,但是,出现以下错误:

“错误”:“内部服务器错误”,“跟踪”:“org.springframework.web.reactive.function.client.WebClientRequestException:拒绝连接:无进一步信息:localhost/127.0.0.1:80;嵌套异常为io.netty.channel.AbstractChannel$AnnotatedConnectionException:拒绝连接:无进一步信息:localhost/127.0.0.1:80\r\n\t org.springframework.web.reactive.function.client。ExchangeFunctions$DefaultExchangeFunction。lambda$wrapException$9(ExchangeFunctions.java:141)\r\n\t受抑制:reactor。果心出版商FluxOnAssemblyException$OnAssemblyException:\n在以下站点上观察到错误:\n\t | u检查点⇢ 请求获取http://localhost/api/components/component/list[DefaultWebClient]\n堆栈跟踪:\r\n\t\t组织。springframework。网状物反应性。作用客户

共有1个答案

袁泰平
2023-03-14

连接被拒绝:无进一步信息:localhost/127.0.0.1:80,异常说明:

  1. 本地机器上没有监听端口80
  2. 您正在请求localhost:80localhost:8090,您确定myWebClient实例是用正确的URL配置的吗?
 类似资料:
  • 我想知道你是否能帮忙。我正在编写一个订单系统,目前已经实现了一个订单微服务来处理下订单。我正在使用DDD与事件源和CQRS。 订单服务本身接收生成事件的命令,实际的订单服务侦听自己的事件以创建读取模型(这里的想法是使用CQR,因此用于写入的命令和用于读取的查询) 在执行上述操作后,我遇到了一个问题,可能只是我没有完全理解正确的方法。 一个订单实际上有依赖项,这意味着一个订单需要一个客户和一个产品。

  • 我在使ActivityRecognitation服务保持运行时遇到问题。我目前有一个在后台连续运行的服务(GService)。我希望在GService中启动ActivityRecognitation服务,并让ActivityRecognitation服务将活动结果广播回GService。我能够启动服务并接收它正在运行的反馈,我还从意图处理程序获得一个结果(没有实际数据),但再也不会得到了。 以下是

  • 我正在使用尤里卡发现服务器。我可以通过通过使用服务名从另一个微服务调用一个微服务,这对Eureka服务器是可见的。我听说在不久的将来将被弃用。 我还可以通过使用从另一个微服务调用一个微服务,但在本例中,我需要使用整个主机名。我不能叫他们服务名称。 是的,我可以从属性文件设置基本url,这样不需要重新启动jar,我们就可以更改基本url。如果我们这样做,那么我们可能不需要任何discovery服务器

  • 问题内容: 我已经开发了两个Springboot michroservices exservice1和service2。具有service1依赖性的service2微服务。 我在service2 pom文件中添加了service1的依赖关系,并在运行service2时在eclipse中可以正常工作。但是,当我在Jenkins中部署并为service1创建项目(Jenkins Job)并以maven

  • 在使用RestTemplate从另一个服务获取数据时,我在postman中出错。 我有两种服务。第一个服务有userdetails实体类,第二个服务有posts实体类。这是邮局管理员的代码。 我在《邮递员》中看到了这个错误。 编辑-尝试@Pijotrek的解决方案后,我现在得到这个错误。 这是我的实体类、DAO和JPARepository 这是UserDetails的实体类 这是我一直从后控制器调

  • 问题内容: 我有一个GUI应用程序,需要在后台静默运行并继续收集信息。它首先需要显示UI以输入凭据,然后偶尔显示错误。 我了解我无法将GUI应用程序作为服务运行,因此我想创建服务只是为了启动GUI应用程序。因此,第一个程序作为服务运行,它仅启动GUI应用程序,然后继续监听来自GUI应用程序的任何信息。以下是启动GUI应用程序的第一个应用程序的代码。 当我运行此程序时,将启动GUI应用程序,但在5-