Class ContentTransformDirectWriter

java.lang.Object
org.alfresco.elasticsearch.batchindexing.writers.ContentTransformDirectWriter
All Implemented Interfaces:
org.springframework.batch.infrastructure.item.ItemWriter<org.alfresco.reindexing.model.ReindexingEvent>

public class ContentTransformDirectWriter extends Object implements org.springframework.batch.infrastructure.item.ItemWriter<org.alfresco.reindexing.model.ReindexingEvent>
  • Constructor Summary

    Constructors
    Constructor
    Description
    ContentTransformDirectWriter(org.alfresco.reindexing.domain.transform.ContentTransformSupportService contentTransformSupportService, ContentTransformClient contentTransformClient, org.alfresco.indexing.shared.opensearch.ElasticsearchContentModifyPort contentModifyPort, String storeRef)
     
    ContentTransformDirectWriter(org.alfresco.reindexing.domain.transform.ContentTransformSupportService contentTransformSupportService, ContentTransformClient contentTransformClient, org.alfresco.indexing.shared.opensearch.ElasticsearchContentModifyPort contentModifyPort, String storeRef, int maxConcurrency, ContentTransformFailureListener failureListener)
     
    ContentTransformDirectWriter(org.alfresco.reindexing.domain.transform.ContentTransformSupportService contentTransformSupportService, ContentTransformClient contentTransformClient, org.alfresco.indexing.shared.opensearch.ElasticsearchContentModifyPort contentModifyPort, String storeRef, int maxConcurrency, org.alfresco.reindexing.writers.ChunkWriteMetricsAccumulator writeMetricsAccumulator, ContentTransformFailureListener failureListener)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
    write(org.springframework.batch.infrastructure.item.Chunk<? extends org.alfresco.reindexing.model.ReindexingEvent> chunk)
    Failures are intentionally caught and logged rather than propagated to Spring Batch.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ContentTransformDirectWriter

      public ContentTransformDirectWriter(org.alfresco.reindexing.domain.transform.ContentTransformSupportService contentTransformSupportService, ContentTransformClient contentTransformClient, org.alfresco.indexing.shared.opensearch.ElasticsearchContentModifyPort contentModifyPort, String storeRef)
    • ContentTransformDirectWriter

      public ContentTransformDirectWriter(org.alfresco.reindexing.domain.transform.ContentTransformSupportService contentTransformSupportService, ContentTransformClient contentTransformClient, org.alfresco.indexing.shared.opensearch.ElasticsearchContentModifyPort contentModifyPort, String storeRef, int maxConcurrency, ContentTransformFailureListener failureListener)
    • ContentTransformDirectWriter

      public ContentTransformDirectWriter(org.alfresco.reindexing.domain.transform.ContentTransformSupportService contentTransformSupportService, ContentTransformClient contentTransformClient, org.alfresco.indexing.shared.opensearch.ElasticsearchContentModifyPort contentModifyPort, String storeRef, int maxConcurrency, org.alfresco.reindexing.writers.ChunkWriteMetricsAccumulator writeMetricsAccumulator, ContentTransformFailureListener failureListener)
  • Method Details

    • shutdown

      @PreDestroy public void shutdown()
    • write

      public void write(org.springframework.batch.infrastructure.item.Chunk<? extends org.alfresco.reindexing.model.ReindexingEvent> chunk) throws Exception
      Failures are intentionally caught and logged rather than propagated to Spring Batch. Content transformation is a best-effort secondary indexing step — a failed transform should not cause the entire chunk to be retried or the step to fail, because the metadata and path indexing (handled by other writers) can still succeed. Non-retryable failures (e.g. ACS 4xx) are additionally forwarded to the optional ContentTransformFailureListener so an operator sees them in the DLQ; the affected nodes are otherwise still eligible for retry on the next reindexing window overlap.
      Specified by:
      write in interface org.springframework.batch.infrastructure.item.ItemWriter<org.alfresco.reindexing.model.ReindexingEvent>
      Throws:
      Exception