亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring?Data?Elasticsearch?5.0.x修改數(shù)據(jù)后無法立即刷新解決方法示例

 更新時間:2023年08月29日 10:22:27   作者:TinyThing  
這篇文章主要為大家介紹了Spring?Data?Elasticsearch?5.0.x修改數(shù)據(jù)后無法立即刷新解決方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

背景

在項目中用到了Spring Data ElasticSearch,最近更新到了最新版本5.0.x,在數(shù)據(jù)插入、修改、刪除后,緊接著進(jìn)行查詢發(fā)現(xiàn)數(shù)據(jù)并未更新;

解決方法

研究后發(fā)現(xiàn)是新版本的spring data es默認(rèn)的刷新策略是null,代碼如下:

        @Bean
        @ConditionalOnMissingBean(value = ElasticsearchOperations.class, name = "elasticsearchTemplate")
        @ConditionalOnBean(ElasticsearchClient.class)
        ElasticsearchTemplate elasticsearchTemplate(ElasticsearchClient client, ElasticsearchConverter converter) {
            return new ElasticsearchTemplate(client, converter);
        }

這里沒有給ElasticsearchTemplate設(shè)置refreshPolicy屬性,點進(jìn)AbstractElasticsearchTemplate可以看到默認(rèn)為null,而以前默認(rèn)是立即刷新IMMEDIATE。

查看Spring官網(wǎng)發(fā)現(xiàn)

Refresh configuration

When configuring Spring Data Elasticsearch like described in Elasticsearch Clients by using ElasticsearchConfigurationSupport, AbstractElasticsearchConfiguration or AbstractReactiveElasticsearchConfiguration the refresh policy will be initialized to null. Previously the reactive code initialized this to IMMEDIATE, now reactive and non-reactive code show the same behaviour.

也就是說,對es數(shù)據(jù)庫進(jìn)行數(shù)據(jù)變更操作時,默認(rèn)是按照索引自帶的刷新策略(一般情況下是1s以后才會更新索引)

{
  "settings": {},
  "defaults": {
    "index": {
      "refresh_interval": "1s"
    }
  }
}

如果想要在Spring data es中更新數(shù)據(jù)后立即刷新,那么需要如下配置覆蓋掉Springboot的Auto Configuration:

@Configuration
@EnableConfigurationProperties(ElasticsearchProperties.class)
public class ElasticsearchConfig extends ElasticsearchConfiguration {
    private final ElasticsearchProperties properties;
    public ElasticsearchConfig(ElasticsearchProperties properties) {
        this.properties = properties;
    }
    @NotNull
    @Override
    public ClientConfiguration clientConfiguration() {
        List<String> uris = properties.getUris();
        String[] uri = uris.toArray(new String[0]);
        return ClientConfiguration.builder()
                .connectedTo(uri)
                .withSocketTimeout(properties.getSocketTimeout())
                .withConnectTimeout(properties.getConnectionTimeout())
                .build();
    }
    @NotNull
    @Bean(name = { "elasticsearchOperations", "elasticsearchTemplate" })
    @Override
    public ElasticsearchOperations elasticsearchOperations(@NotNull ElasticsearchConverter elasticsearchConverter,
                                                           @NotNull ElasticsearchClient elasticsearchClient) {
        ElasticsearchTemplate template = new ElasticsearchTemplate(elasticsearchClient, elasticsearchConverter);
        template.setRefreshPolicy(RefreshPolicy.IMMEDIATE);
        return template;
    }
}

以上就是Spring Data Elasticsearch 5.0.x修改數(shù)據(jù)后無法立即刷新解決方法示例的詳細(xì)內(nèi)容,更多關(guān)于Spring Data Elasticsearch無法刷新的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java中FileWriter的用法及wirte()重載方法詳解

    Java中FileWriter的用法及wirte()重載方法詳解

    這篇文章主要介紹了Java中FileWriter的用法及wirte()重載方法詳解,FileWriter是Java編程語言中的一個類,用于將字符寫入文件,它提供了一種簡單而方便的方式來創(chuàng)建、打開和寫入文件,通過使用FileWriter,我們可以將字符數(shù)據(jù)寫入文本文件,需要的朋友可以參考下
    2023-10-10
  • Resttemplate中設(shè)置超時時長方式

    Resttemplate中設(shè)置超時時長方式

    這篇文章主要介紹了Resttemplate中設(shè)置超時時長方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • redis與spring整合使用的步驟實例教程

    redis與spring整合使用的步驟實例教程

    這篇文章主要給大家介紹了關(guān)于redis與spring整合使用的相關(guān)資料,文中通過示例代碼將實現(xiàn)的步驟一步步介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • maven實現(xiàn)jar包導(dǎo)入+導(dǎo)出方式

    maven實現(xiàn)jar包導(dǎo)入+導(dǎo)出方式

    這篇文章主要介紹了maven實現(xiàn)jar包導(dǎo)入+導(dǎo)出方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 解決使用mybatis取值,字段賦值錯誤的問題

    解決使用mybatis取值,字段賦值錯誤的問題

    這篇文章主要介紹了解決使用mybatis取值,字段賦值錯誤的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 閑言碎語-逐步了解Spring

    閑言碎語-逐步了解Spring

    這篇文章主要介紹了閑言碎語-逐步了解Spring,涉及Spring的誕生,簡介,作用等相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Java使用NIO優(yōu)化IO實現(xiàn)文件上傳下載功能

    Java使用NIO優(yōu)化IO實現(xiàn)文件上傳下載功能

    IO 是基于流來讀取的,而NIO則是基于塊讀取,面向流 的 I/O 系統(tǒng)一次一個字節(jié)地處理數(shù)據(jù),這篇文章主要介紹了Java使用NIO優(yōu)化IO實現(xiàn)文件上傳下載功能,需要的朋友可以參考下
    2022-07-07
  • Java基礎(chǔ)之簡單的圖片處理

    Java基礎(chǔ)之簡單的圖片處理

    這篇文章主要介紹了Java基礎(chǔ)之簡單的圖片處理,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Spring依賴注入方式(Dependency Injection)

    Spring依賴注入方式(Dependency Injection)

    在實際開發(fā)中,推薦使用構(gòu)造器注入而非字段注入,原因包括官方推薦、代碼簡潔、安全性高和易于測試,構(gòu)造器注入通過在對象創(chuàng)建時注入所有必需的依賴,避免運行時忘記注入的問題,且利用Lombok的@RequiredArgsConstructor可自動生成構(gòu)造函數(shù)
    2024-10-10
  • SpringMVC 中文亂碼的解決方案

    SpringMVC 中文亂碼的解決方案

    這篇文章主要介紹了SpringMVC 中文亂碼的解決方案,幫助大家更好的理解和學(xué)習(xí)使用SpringMVC,感興趣的朋友可以了解下
    2021-04-04

最新評論