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 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 io.deephaven.enterprise.auth.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().
    • 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 io.deephaven.enterprise.auth.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().
    • 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 io.deephaven.enterprise.auth.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().
    • buildWriter

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

      public boolean supportsDynamicPartitioning()