如何在Spring Cloud Consor配置中将一致性模式更改为过时

如何在Spring Cloud Consor配置中将一致性模式更改为过时,spring,spring-boot,consul,spring-cloud-consul,Spring,Spring Boot,Consul,Spring Cloud Consul,领事支持http中的一致性模式参数。根据领事馆文件,它可以有默认的、一致的、过时的。我想在我的一个应用程序中将一致性模式从默认的ot STALE更改。我在提供的spring文档中没有找到任何方法。使用SpringCloudConcur配置可以实现吗 如果您的用例只是在一次熬夜后启动consur。您可以使用这个hack,然后从springbootmain方法调用它 public static void changeConsistencyModeToStale() { for (Field

领事支持http中的一致性模式参数。根据领事馆文件,它可以有默认的、一致的、过时的。我想在我的一个应用程序中将一致性模式从默认的ot STALE更改。我在提供的spring文档中没有找到任何方法。使用SpringCloudConcur配置可以实现吗

如果您的用例只是在一次熬夜后启动consur。您可以使用这个hack,然后从springbootmain方法调用它

public static void changeConsistencyModeToStale() {
    for (Field field : QueryParams.class.getFields()) {
        if ("DEFAULT".equals(field.getName())) {
            try {
                field.setAccessible(true);
                Field modifiersField = Field.class.getDeclaredField("modifiers");
                modifiersField.setAccessible(true);
                modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
                field.set(null, new QueryParams(ConsistencyMode.STALE));
            } catch (NoSuchFieldException | IllegalAccessException e) {
                log.error("Error while try to set stale mode to consul", e);
            }

            log.info("Consistence mode has been set to stale successfully");
        }
    }
}