【发布时间】:2019-05-10 09:04:41
【问题描述】:
我正在开发一个依赖于另一个网络服务的 Micronaut API。
因为与远程网络服务的连接会消耗远程服务中的资源,所以我正在考虑让负责建立网络连接的 bean 可循环使用。
这个想法是允许远程服务器也回收资源,并且由于远程网络服务可能已关闭,这将允许 API 在这种情况下能够恢复。
在 Micronaut 中是否有任何推荐的模式来执行此操作?
非常感谢,谢谢 奥斯卡
【问题讨论】:
标签: micronaut
我正在开发一个依赖于另一个网络服务的 Micronaut API。
因为与远程网络服务的连接会消耗远程服务中的资源,所以我正在考虑让负责建立网络连接的 bean 可循环使用。
这个想法是允许远程服务器也回收资源,并且由于远程网络服务可能已关闭,这将允许 API 在这种情况下能够恢复。
在 Micronaut 中是否有任何推荐的模式来执行此操作?
非常感谢,谢谢 奥斯卡
【问题讨论】:
标签: micronaut
...我正在考虑让 bean 负责建立 网络连接可回收。
Micronaut 提供了一个非常简单而强大的机制来帮助解决这个问题。请参阅有关声明式 http 客户端的文档:https://docs.micronaut.io/1.1.1/guide/index.html#clientAnnotation。
简而言之,你写一个这样的客户端……
import io.micronaut.http.client.annotation.*;
@Client('https://someplace.com')
public interface PetClient {
@Post('/pets/{name}/{age}')
Pet save(String name, int age);
}
该接口的一个实例将添加为一个 bean,您可以将其注入任何其他 bean...
@Controller("/somepath")
public class SomeController {
public SomeController(PetClient petClient) {
this.petClient = petClient;
}
// ...
}
希望对你有帮助。
【讨论】: