singleton bean如何处理动态索引

2024-04-25

我正在使用 Spring Data Elastic Search。根据请求中的不同标头,我创建 @RequestScope 对象 IndexConfig 来保存不同的索引集。似乎正在发挥作用。但我不明白单例bean DocumentA/DocumentB 如何处理动态索引?我还需要将它们设置为 @RequestScope 吗?

@Component
@Data
@RequestScope
public class IndexConfig {

    private String AIndexName;
    private String BIndexName;
}

@Component
public class RequestFilter implements Filter {
    @Autowired
    private IndexConfig indexConfig ;
  
    public void doFilter(ServletRequest req,....) {
       
       if(httpRequest.getHeader("one"){
         indexConfig.setAIndexName("A1);
         indexConfig.setBIndexName("B1); 

      }else if(httpRequest.getHeader("two"){
         indexConfig.setAIndexName("A2);
         indexConfig.setBIndexName("B2); 
     }
    ..
    }
}  

@Document(indexName = "#{@indexConfig.getAIndexName()}", createIndex = false)
public class DocumentA {}

@Document(indexName = "#{@indexConfig.getBIndexName()}", createIndex = false)
public class DocumentB {}

什么让你有那个想法DocumentA or DocumentB` 是单例吗?这些 e 是您存储和检索的实体。

您创建一个实例DocumentA并通过使用以下方法存储它ElasticsearchOperations或使用存储库功能。当从 Spring Data Elasticsearch 检索数据时,您会得到新的实例,其中填充了从 Elasticsearch 读取的数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

singleton bean如何处理动态索引 的相关文章

随机推荐

  • 如何从xml中的另一个包加载资源?

    我知道可以使用如下代码从另一个包安装资源 xml 文件 String resourceName getResources getResourceEntryName layoutResID String resourceTypeName ge
  • 保存 JSON 文件以便稍后从中获取其他数据

    我希望能够使用新数据保存我的 json 文件 然后调用该数据 以便我可以再次保存新数据 现在它所做的就是 当我调用 JSON 文件数据的任何部分时 保持与我上次手动保存它时相同 我确实编辑了一些代码并更好地描述了我的问题 提前谢谢您 这是我
  • iframe 中的位置固定 div 不起作用

    我正在开发 facebook iframe 应用程序 我在此应用程序中有一个弹出消息框 那个弹出窗口有固定位置 但它不能像添加到没有滚动的 iframe 中那样工作 如果弹出窗口在没有滚动的 iframe 中 是否可以使其固定在位置 如果弹
  • 在 Rails 中使用回形针进行 ajax 上传的简单方法?

    我想知道是否有一个简单的方法 例如一个插件 用回形针在 Rails 中进行 ajax 上传 还是我必须从头开始构建它 Cheers 编辑 另外 我正在寻找非闪存解决方案 你可以试试remotipart http os alfajango c
  • Rails中有类似批量更新的东西吗?

    在Java中 我们有像下面的java代码这样的批处理执行 Statement statement null statement connection createStatement statement addBatch update peo
  • terraform 创建的 Kubenet AKS 未将路由表链接到应用程序网关子网?

    按照这个kubenet 将路由表关联到 appgw 子网 https github com Azure application gateway kubernetes ingress pull 723 当您为应用程序网关创建 AGIC 时 它
  • C# 中的字符串替换[重复]

    这个问题在这里已经有答案了 可能的重复 字符串替换不起作用 https stackoverflow com questions 1558024 string replace not working 我有一个像这样的字符串 string ur
  • Django admin在同一行显示多个字段

    我创建了一个模型 它将自动显示模型中的所有字段并将其显示在管理页面上 现在 我有一个问题 我希望在同一行上有两个字段 为此我必须在 ModelAdmin 中指定字段集 fieldsets None fields firstname last
  • MongoDb 聚合中的条件展开?

    我试图弄清楚是否有一种方法可以在 MongoDB 的聚合框架中编写条件展开代码 我有一个这样的聚合命令 models Users aggregate SELECT project sex 1 salesIndex 1 WHERE match
  • 错误:当前项目不支持运行配置应用程序。无法获取应用ID

    每次我在 Android Studio 中打开项目时 都会出现此错误 Error Run configuration app is not supported in the current project Cannot obtain the
  • R 中的 GSL 库 - 未找到符号

    作为新用户 我对 C 的了解非常有限 我有一些用 C 编写的代码需要在 R 中使用 我尝试使用 gsl integration 库 由于代码需要传递给可能未安装 GSL 库的不同人员 因此我创建了 integration h 文件 其中包含
  • php如何在curl获取请求标头中使用承载令牌?

    下面是一个有效的 C get 请求 public HttpResponseMessage ExecuteEndPoint string endpoint string accessTocken HttpResponseMessage res
  • 创建线程-传递参数

    我正在尝试创建多个线程 每个线程计算素数 我正在尝试使用线程创建将第二个参数传递给函数 它不断抛出错误 void compute prime void arg void arg2 这是我的 main 和创建线程 max prime 之后的
  • 禁用 c++ 模块时使用“@import”,请考虑使用 -fmodules 和 -fcxx-modules

    当我尝试使用 Cocoapods 将 AdMob 集成到 Objective C 项目中时 我就想到了这个问题 禁用 c 模块时使用 import 请考虑使用 fmodules 和 fcxx modules 这是什么错误以及如何修复它 Fi
  • 想要创建一个过滤器来检查 cookie,然后保存来自控制器的对象和引用

    我想创建一个过滤器 它将在我的任何 spring mvc 控制器操作之前执行 我想检查 cookie 是否存在 然后将对象存储在某处current仅请求 然后 我需要从我的控制器操作中引用该对象 如果存在 关于如何执行此操作的建议 要创建过
  • 在python中使用tesseract 3.02的C API与ctypes和cv2

    我正在尝试在 python 中将 Tesseract 3 02 与 ctypes 和 cv2 一起使用 Tesseract 提供了一组公开的 DLL C 风格 API 其中之一如下 TESS API void TESS CALL TessB
  • 你什么时候使用过 C++ 'mutable' 关键字? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 你什么时候用过C mutable关键词 为什么 我认为我从来没有使用过这个关键字 我知道它用于缓存 或者可能是记忆 等用途 但是您需要在什么
  • 无法远程连接到Python Socket

    我已经使用 python 套接字和 Tkinter 创建了一个聊天应用程序 它在本地运行得很好 但是客户端无法远程连接到服务器 当我输入我的公共 IP 地址作为主机时 我已经完全端口转发了我的网络并且我知道如何很好地进行端口转发 当我运行在
  • 如何在 selectizeInput 加载所有选择之前添加微调器? [闪亮的]

    我想制作一个应用程序 2actionButtons 1 在加载之前提交更改selectizeInput2 绘制绘图 我知道如何添加spinner单击后actionButton但大多数情况是当你想展示情节时添加的 但是 是否可以添加一个spi
  • singleton bean如何处理动态索引

    我正在使用 Spring Data Elastic Search 根据请求中的不同标头 我创建 RequestScope 对象 IndexConfig 来保存不同的索引集 似乎正在发挥作用 但我不明白单例bean DocumentA Doc