gpt4 book ai didi

java - Spring Boot Admin - 持久化应用程序和事件

转载 作者:行者123 更新时间:2023-12-01 19:54:44 36 4
gpt4 key购买 nike

我在使用 Spring Boot Admin 时遇到问题:重新启动服务器实例后,它会丢失所有应用程序和事件。

这是架构和步骤:监视应用程序 A、B 和 C 的服务器实例。

  1. 启动服务器实例
  2. 启动应用 A、B 和 C
  3. 停止应用 C 和服务器实例
  4. 重新启动服务器实例
  5. 此时事件日志已清除,应用程序 C 不在应用程序列表中

我该如何应对这种情况?也许,我必须将这些信息保存在数据库上。但是,我找不到任何有用的东西。

谢谢

最佳答案

您可以使用Hazelcast使应用和事件持久化。查看 SBA 文档(聚类段落)。

在 pom.xml 中添加 Hazelcast 依赖项:

<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast</artifactId>
</dependency>

然后,在application.properties中:

spring.boot.admin.hazelcast.enabled=true
spring.boot.admin.hazelcast.event-store=spring-boot-admin-event-store

实例化HazelcastConfig

    @Bean
public Config config() {
MapConfig eventStoreMap = new MapConfig("spring-boot-admin-event-store")
.setInMemoryFormat(InMemoryFormat.OBJECT)
.setBackupCount(1)
.setEvictionPolicy(EvictionPolicy.NONE)
.setMergePolicyConfig(new MergePolicyConfig(PutIfAbsentMapMergePolicy.class.getName(), 100))
.setMapStoreConfig(new MapStoreConfig().setImplementation(new HazelcastEventImplementation()));

Config config = new Config();
config.addMapConfig(eventStoreMap);
config.setProperty("hazelcast.jmx", "true");

return config;
}

最后,使用您首选的持久性方法实现一个 MapStore< InstanceId, ArrayList > 类(在我的示例配置中 HazelcastEventImplementation.java)。

关于java - Spring Boot Admin - 持久化应用程序和事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59047871/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com