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

Spring Boot:应用程序启动时通过rest调用检索配置

池庆
2023-03-14

我想在应用程序启动时进行一次REST调用以检索一些配置参数

例如,我们需要从另一个服务器检索一个名为FleetConfiguration的实体。我想做一次GET并保存,在运行时的其余时间将数据保存在内存中。

在Spring做这件事最好的方法是什么?使用Bean,配置注释..?

例如,我找到了https://stackoverflow.com/a/44923402/494659

共有1个答案

阎麒
2023-03-14

以下方法将在应用程序启动后运行,调用远程服务器并返回一个FleetConfiguration对象,该对象将在整个应用程序中可用。FleetConfiguration对象将是一个单例,不会更改。

@Bean
@EventListener(ApplicationReadyEvent.class)
public FleetConfiguration getFleetConfiguration(){
    RestTemplate rest = new RestTemplate();
    String url = "http://remoteserver/fleetConfiguration";
    return rest.getForObject(url, FleetConfiguration.class);
}

方法应在@configuration类或@service类中声明。

理想情况下,调用应该测试来自远程服务器的响应代码,并相应地执行操作。

 类似资料:
  • 使用spring-boot时,一切工作都很好。尽管如此,在spring-boot中已删除了注释和。我试图将代码重构为新版本,但我做不到。对于以下测试,我的应用程序在测试之前没有启动,http://localhost:8080返回404: 如何重构测试以使其在Spring-Boot1.5中工作?

  • 我正在尝试发布我的第一个Android应用程序,以发送给一些测试人员。但是,我遇到了一个问题。当您退出应用程序,然后通过其图标启动它重新进入它时,它会重新启动整个应用程序,而不是返回到其以前的位置。即使您在退出后立即重新进入,也会发生这种情况。但是,如果我按住主屏幕按钮并通过最近的应用程序列表启动它,则不会发生这种情况。 我在网上搜索过其他有这个问题的人,只有少数人,但没有人能确切回答为什么会发生

  • 问题内容: 我有一个Java应用程序。 该应用程序具有一个设置,该设置决定该应用程序是否在启动时启动。 目前,我可以通过在“启动项目”文件夹中放置/删除快捷方式来实现此目的。 但是,我想知道是否有更好的方法来处理此行为。 编辑 是的,它是Windows。抱歉,之前没有清除该内容。 该应用程序具有一个用户可以在其中触发动作的UI,并且该应用程序在运行时会定期在后台运行一些任务。 @Peter,如何在

  • 问题内容: 当前,我有一个Java Standalone Swing应用程序。 现在,当用户单击Swing应用程序中的按钮时,我想启动另一个Java应用程序(说:Calculator.jar) 我可以知道什么是便携式方法吗?这样它就可以在多个OS中工作吗? 问题答案: 使用或只是将其放在类路径中并调用其。

  • 显示 “无法导入资源”@AcmeDemoBundle/Controller/SecuredController。php“from”D:/UserData/WWWRoot/Symfony/app/config/routing。yml”。确保“AcmeDemoBundle/Controller/SECUEDCONTROLLER”。php“bundle已正确注册并加载到应用程序内核类中。” 这是我的 处

  • 我试图使用REST API调用Microsoft Graph,但遇到了一些问题。我的应用程序最终将成为部署到Azure的web应用程序,我需要在没有登录用户的情况下通过REST调用Graph。 在调试这个程序的过程中,我试着制作出最简单的应用程序。此应用程序正在尝试使用Graph从Azure Active Directory读取用户的配置文件。 我在AAD中注册了我的应用程序,所以我有一个租户、客