Class LogAggregatorServiceBinaryStoreWriterFactory

java.lang.Object
com.illumon.intradaylogger.IntradayLogger.TableWriterFactoryImpl
com.illumon.iris.db.v2.logaggregator.LogAggregatorServiceBinaryStoreWriterFactory
All Implemented Interfaces:
com.illumon.intradaylogger.IntradayLogger.TableWriterFactory

public final class LogAggregatorServiceBinaryStoreWriterFactory extends com.illumon.intradaylogger.IntradayLogger.TableWriterFactoryImpl
Creates a TableWriter that will connect to a Log Aggregator Service. Rows are written to network and not to disk.
  • Method Details

    • dynamicColumnPartitionFactory

      public static LogAggregatorServiceBinaryStoreWriterFactory dynamicColumnPartitionFactory(@NotNull com.fishlib.io.logger.Logger log, @NotNull String namespace, @NotNull String tableName, @NotNull TableIdentifier.NamespaceSet namespaceSet, @NotNull String internalPartition, @Nullable TokenFactoryFactory tokenAuthenticationManager)
      Construct an instance without a column partition value (for dynamic column partition selection).
      Parameters:
      log - the logger
      namespace - the namespace for the table
      tableName - the tableName to which this will write
      namespaceSet - the NamespaceSet
      internalPartition - the internal partition for the location
      tokenAuthenticationManager - source for authentication tokens. If null, use AuthenticationClientManager.getDefault().
      Returns:
      a LogAggregatorServiceBinaryStoreWriterFactory configured for logger-generated dynamic partitions
    • currentDatePartitionFactory

      public static LogAggregatorServiceBinaryStoreWriterFactory currentDatePartitionFactory(@NotNull com.fishlib.io.logger.Logger log, @NotNull String namespace, @NotNull String tableName, @NotNull TableIdentifier.NamespaceSet namespaceSet, @NotNull String internalPartition, @Nullable TokenFactoryFactory tokenAuthenticationManager)
      Construct a LogAggregatorServiceBinaryStoreWriterFactory instance that will create a column partition value based on the current time, and will cycle LogAggregatorService connections if the date changes.
      Parameters:
      log - the logger
      namespace - the namespace for the table
      tableName - the tableName to which this will write
      namespaceSet - the NamespaceSet
      internalPartition - the internal partition for the location
      tokenAuthenticationManager - source for authentication tokens. If null, use AuthenticationClientManager.getDefault().
      Returns:
      a LogAggregatorServiceBinaryStoreWriterFactory configure to use the current date as the partition
    • fixedColumnPartitionFactory

      public static LogAggregatorServiceBinaryStoreWriterFactory fixedColumnPartitionFactory(@NotNull com.fishlib.io.logger.Logger log, @NotNull String namespace, @NotNull String tableName, @NotNull TableIdentifier.NamespaceSet namespaceSet, @NotNull String internalPartition, @NotNull String columnPartition, @Nullable TokenFactoryFactory tokenAuthenticationManager)
      Construct a LogAggregatorServiceBinaryStoreWriterFactory instance that uses the specified column partition value.
      Parameters:
      log - the logger
      namespace - the namespace for the table
      tableName - the tableName to which this will write
      namespaceSet - the NamespaceSet
      internalPartition - the internal partition for the location
      columnPartition - the column partition value
      tokenAuthenticationManager - source for authentication tokens. If null, use AuthenticationClientManager.getDefault().
      Returns:
      a LogAggregatorServiceBinaryStoreWriterFactory using a fixed column partition
    • buildWriter

      public TableWriter buildWriter(String[] columnNames, SupportedType[] intradayTypes, Class[] columnTypes_notUsed, Object[] typeMetadata, Map<String,Object> constantColumnValues, int applicationVersion) throws IOException
      Throws:
      IOException
    • makeDynamicBufferWriter

      public io.deephaven.enterprise.binlog.support.MultiPartitionBufferWriter makeDynamicBufferWriter() throws IOException
      Builds a MultiPartitionBufferWriter, backed by the LAS, for use with a V2 logger that uses dynamic partitions.
      Returns:
      a MultiPartitionBufferWriter backed by the LAS
      Throws:
      IOException - if the buffer writer could not be created
    • makeSingleBufferWriter

      public io.deephaven.enterprise.binlog.support.SinglePartitionBufferWriter makeSingleBufferWriter() throws IOException
      Builds a SinglePartitionBufferWriter, backed by the LAS, for use with a V2 logger that does not use dynamic partitions.
      Returns:
      a SinglePartitionBufferWriter backed by the LAS
      Throws:
      IOException - if the buffer writer could not be created
    • supportsDynamicPartitioning

      public boolean supportsDynamicPartitioning()