/** * This is a helper method trying to find, create and initialize the given class, using its public constructor which accepts a single {@link Configuration}. * * @param c * This class defines the expected result of the method call. * @param classname * The name of the class to be created. * @param configuration * The configuration which will be used to initialize the class in question. * * @return A new and initializes class instance if everything went well. * * @param <C> * The type of the returned class. */ protected static final <C> C createAndInitialize(final Class<C> c, final String classname, final Configuration configuration) { return ControllerFactory.getInstance(configuration).createAndInitialize(c, classname, configuration); } }
final ICompressionFilter compressionFilter = ControllerFactory.getInstance(configuration).createAndInitialize(ICompressionFilter.class, compressionFilterClassName, configuration); this.mapFileHandler = ControllerFactory.getInstance(configuration).createAndInitialize(IMapFileHandler.class, mapFileHandlerClassName, configuration); this.mapFileHandler.create(logFolder.resolve(FSUtil.MAP_FILENAME), Charset.forName(charsetName)); this.logStreamHandler = ControllerFactory.getInstance(configuration).create(AbstractLogStreamHandler.class, logHandlerClassName, logHandlerSignature, flushLogFile, bufferSize, charset, compressionFilter, this.writerRegistry); this.logFilePoolHandler = ControllerFactory.getInstance(configuration).create(ILogFilePoolHandler.class, logFilePoolHandlerClassName, logFilePoolHandlerSignature, logFolder, this.logStreamHandler.getFileExtension(), maxAmountOfFiles);
final Class<?> clazz = Class.forName(className); if (c.isAssignableFrom(clazz)) { createdClass = (C) this.instantiate(clazz, className, configuration); } else { LOGGER.error("Class '{}' has to implement '{}'", className, c.getSimpleName());
final Class<?> clazz = Class.forName(className); if (c.isAssignableFrom(clazz)) { createdClass = (C) this.instantiate(clazz, className, configuration); } else { LOG.error("Class '" + className + "' has to implement '" + c.getSimpleName() + "'");
/** * This is a helper method trying to find, create and initialize the given class, using its public constructor which accepts a single {@link Configuration}. * * @param c * This class defines the expected result of the method call. * @param classname * The name of the class to be created. * @param configuration * The configuration which will be used to initialize the class in question. * * @return A new and initializes class instance if everything went well. * * @param <C> * The type of the returned class. */ protected static final <C> C createAndInitialize(final Class<C> c, final String classname, final Configuration configuration) { return ControllerFactory.getInstance(configuration).createAndInitialize(c, classname, configuration); } }
public TextMapFileHandler(final Configuration configuration) { /** get compression filter main data. */ final String compressionFilterClassName = configuration.getStringProperty(CONFIG_COMPRESSION_FILTER, NoneCompressionFilter.class.getName()); this.compressionFilter = ControllerFactory.getInstance(configuration).createAndInitialize(ICompressionFilter.class, compressionFilterClassName, configuration); this.flushMapFile = configuration.getBooleanProperty(CONFIG_FLUSH_MAPFILE, true); }
public ChunkingCollector(final Configuration configuration) { super(configuration); // Initialize the queue and the executor service final int queueSize = configuration.getIntProperty(CONFIG_QUEUE_SIZE, DEFAULT_QUEUE_SIZE); final String queueType = configuration.getStringProperty(CONFIG_QUEUE_TYPE, ""); this.taskRunInterval = configuration.getIntProperty(CONFIG_TASK_RUN_INTERVAL, DEFAULT_TASK_RUN_INTERVAL); this.recordQueue = this.createQueue(queueType, queueSize); this.scheduledExecutor = Executors.newScheduledThreadPool(NUMBER_OF_WORKERS, new DaemonThreadFactory()); // Instantiate serializer and writer final ControllerFactory controllerFactory = ControllerFactory.getInstance(configuration); final String serializerName = configuration.getStringProperty(CONFIG_SERIALIZER_CLASSNAME); final IMonitoringRecordSerializer serializer = controllerFactory.createAndInitialize(IMonitoringRecordSerializer.class, serializerName, configuration); final String writerName = configuration.getStringProperty(CONFIG_WRITER_CLASSNAME); final IRawDataWriter writer = controllerFactory.createAndInitialize(IRawDataWriter.class, writerName, configuration); // Instantiate the writer task final int deferredWriteDelayMs = configuration.getIntProperty(CONFIG_DEFERRED_WRITE_DELAY, DEFAULT_DEFERRED_WRITE_DELAY); final int chunkSize = configuration.getIntProperty(CONFIG_CHUNK_SIZE, DEFAULT_CHUNK_SIZE); final int outputBufferSize = configuration.getIntProperty(CONFIG_OUTPUT_BUFFER_SIZE, DEFAULT_OUTPUT_BUFFER_SIZE); this.writerTask = new ChunkWriterTask(this, chunkSize, deferredWriteDelayMs, outputBufferSize, serializer, writer); }
public ChunkingCollector(final Configuration configuration) { super(configuration); // Initialize the queue and the executor service final int queueSize = configuration.getIntProperty(CONFIG_QUEUE_SIZE, DEFAULT_QUEUE_SIZE); final String queueType = configuration.getStringProperty(CONFIG_QUEUE_TYPE, ""); this.taskRunInterval = configuration.getIntProperty(CONFIG_TASK_RUN_INTERVAL, DEFAULT_TASK_RUN_INTERVAL); this.recordQueue = this.createQueue(queueType, queueSize); this.scheduledExecutor = Executors.newScheduledThreadPool(NUMBER_OF_WORKERS, new DaemonThreadFactory()); // Instantiate serializer and writer final ControllerFactory controllerFactory = ControllerFactory.getInstance(configuration); final String serializerName = configuration.getStringProperty(CONFIG_SERIALIZER_CLASSNAME); final IMonitoringRecordSerializer serializer = controllerFactory.createAndInitialize(IMonitoringRecordSerializer.class, serializerName, configuration); final String writerName = configuration.getStringProperty(CONFIG_WRITER_CLASSNAME); final IRawDataWriter writer = controllerFactory.createAndInitialize(IRawDataWriter.class, writerName, configuration); // Instantiate the writer task final int deferredWriteDelayMs = configuration.getIntProperty(CONFIG_DEFERRED_WRITE_DELAY, DEFAULT_DEFERRED_WRITE_DELAY); final int chunkSize = configuration.getIntProperty(CONFIG_CHUNK_SIZE, DEFAULT_CHUNK_SIZE); final int outputBufferSize = configuration.getIntProperty(CONFIG_OUTPUT_BUFFER_SIZE, DEFAULT_OUTPUT_BUFFER_SIZE); this.writerTask = new ChunkWriterTask(chunkSize, deferredWriteDelayMs, outputBufferSize, serializer, writer); }