Class ExecutorTableDataRefreshService
java.lang.Object
com.illumon.iris.db.v2.locations.util.ExecutorTableDataRefreshService
- All Implemented Interfaces:
TableDataRefreshService
public class ExecutorTableDataRefreshService extends Object implements TableDataRefreshService
TableDataRefreshService
implementation that uses a ScheduledThreadPoolExecutor
.-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.locations.util.TableDataRefreshService
TableDataRefreshService.CancellableSubscriptionToken, TableDataRefreshService.Helper, TableDataRefreshService.Null
-
Constructor Summary
Constructors Constructor Description ExecutorTableDataRefreshService(String name, long tableLocationProviderRefreshIntervalMillis, long tableLocationRefreshIntervalMillis, int threadPoolSize)
-
Method Summary
Modifier and Type Method Description TableDataRefreshService.CancellableSubscriptionToken
scheduleTableLocationProviderRefresh(AbstractTableLocationProvider tableLocationProvider)
Schedule refresh for an AbstractTableLocationProvider.TableDataRefreshService.CancellableSubscriptionToken
scheduleTableLocationRefresh(AbstractTableLocation tableLocation)
Schedule refresh for an AbstractTableLocation.void
submitOneTimeAsyncTask(Runnable task)
Submit a one-time task to be run asynchronously.
-
Constructor Details
-
ExecutorTableDataRefreshService
public ExecutorTableDataRefreshService(@NotNull String name, long tableLocationProviderRefreshIntervalMillis, long tableLocationRefreshIntervalMillis, int threadPoolSize)
-
-
Method Details
-
submitOneTimeAsyncTask
Description copied from interface:TableDataRefreshService
Submit a one-time task to be run asynchronously.- Specified by:
submitOneTimeAsyncTask
in interfaceTableDataRefreshService
- Parameters:
task
- The task to run
-
scheduleTableLocationProviderRefresh
public TableDataRefreshService.CancellableSubscriptionToken scheduleTableLocationProviderRefresh(@NotNull AbstractTableLocationProvider tableLocationProvider)Description copied from interface:TableDataRefreshService
Schedule refresh for an AbstractTableLocationProvider.- Specified by:
scheduleTableLocationProviderRefresh
in interfaceTableDataRefreshService
- Parameters:
tableLocationProvider
- The table location provider- Returns:
- A subscription token to be used for matching, which also supports cancellation
-
scheduleTableLocationRefresh
public TableDataRefreshService.CancellableSubscriptionToken scheduleTableLocationRefresh(@NotNull AbstractTableLocation tableLocation)Description copied from interface:TableDataRefreshService
Schedule refresh for an AbstractTableLocation.- Specified by:
scheduleTableLocationRefresh
in interfaceTableDataRefreshService
- Parameters:
tableLocation
- The table location- Returns:
- A subscription token to be used for matching, which also supports cancellation
-