Class BulkIndexingSession

  • All Implemented Interfaces:
    org.flowable.common.engine.impl.interceptor.Session

    public class BulkIndexingSession
    extends java.lang.Object
    implements org.flowable.common.engine.impl.interceptor.Session
    • Field Detail

      • commandContext

        protected org.flowable.common.engine.impl.interceptor.CommandContext commandContext
      • objectMapper

        protected com.fasterxml.jackson.databind.ObjectMapper objectMapper
      • restClient

        protected org.elasticsearch.client.RestHighLevelClient restClient
      • registeredFullIndexes

        protected java.util.Map<java.lang.String,​java.util.Set<java.lang.String>> registeredFullIndexes
    • Constructor Detail

      • BulkIndexingSession

        public BulkIndexingSession​(org.flowable.common.engine.impl.interceptor.CommandContext commandContext,
                                   com.fasterxml.jackson.databind.ObjectMapper objectMapper,
                                   org.elasticsearch.client.RestHighLevelClient restClient,
                                   ElasticsearchCompatibility elasticsearchCompatibility,
                                   java.util.List<BulkIndexRequestInterceptor> bulkIndexRequestInterceptors)
    • Method Detail

      • upsertData

        public void upsertData​(java.lang.String index,
                               java.lang.String id,
                               com.fasterxml.jackson.databind.node.ObjectNode objectNode)
      • upsertDataWithScript

        public void upsertDataWithScript​(java.lang.String index,
                                         java.lang.String id,
                                         com.fasterxml.jackson.databind.node.ObjectNode upsertDocNode,
                                         com.fasterxml.jackson.databind.node.ObjectNode scriptNode)
      • indexData

        public void indexData​(java.lang.String index,
                              java.lang.String id,
                              com.fasterxml.jackson.databind.node.ObjectNode objectNode)
      • indexDataWithExternalVersion

        public void indexDataWithExternalVersion​(java.lang.String index,
                                                 java.lang.String id,
                                                 com.fasterxml.jackson.databind.node.ObjectNode objectNode,
                                                 long version)
      • registerFullIndex

        public void registerFullIndex​(java.lang.String type,
                                      java.lang.String id)
      • isFullIndexRegistered

        public boolean isFullIndexRegistered​(java.lang.String type,
                                             java.lang.String id)
      • retryFailedBulkRequest

        public void retryFailedBulkRequest​(com.fasterxml.jackson.databind.node.ObjectNode actionNode,
                                           com.fasterxml.jackson.databind.node.ObjectNode sourceNode)
      • executeBulkRequest

        public org.elasticsearch.action.bulk.BulkResponse executeBulkRequest()
                                                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • parseEntity

        protected <Resp> Resp parseEntity​(org.apache.http.HttpEntity entity,
                                          org.elasticsearch.common.CheckedFunction<org.elasticsearch.common.xcontent.XContentParser,​Resp,​java.io.IOException> entityParser)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • ensureBulkRequestInitialized

        protected void ensureBulkRequestInitialized()
      • flush

        public void flush()
        Specified by:
        flush in interface org.flowable.common.engine.impl.interceptor.Session
      • close

        public void close()
        Specified by:
        close in interface org.flowable.common.engine.impl.interceptor.Session