private void registerPurgingTasks(String scriptFilePath) throws DeploymentException { File deploymentFileData = new File(scriptFilePath); int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); log.info( "Deploying purging task : " + deploymentFileData.getName() + " for tenant : " + tenantId); try { AnalyticsDataPurgingConfiguration purgingConfiguration = getAnalyticsDataPurgingConfiguration(deploymentFileData); if (purgingConfiguration != null) { if (purgingConfiguration.getPurgingIncludeTables() != null) { TaskManager taskManager = AnalyticsServiceHolder.getTaskService() .getTaskManager(Constants.ANALYTICS_DATA_PURGING); for (AnalyticsDataPurgingIncludeTable analyticsDataPurgingIncludeTable : purgingConfiguration.getPurgingIncludeTables()) { if (analyticsDataPurgingIncludeTable.getValue() != null && !analyticsDataPurgingIncludeTable.getValue().isEmpty()) { TaskInfo dataPurgingTask = createDataPurgingTask( analyticsDataPurgingIncludeTable.getValue(), purgingConfiguration.getCronExpression(), purgingConfiguration.getRetentionDays()); taskManager.registerTask(dataPurgingTask); taskManager.rescheduleTask(dataPurgingTask.getName()); } } } } } catch (TaskException e) { log.error( "Unable to get task manager instance for ANALYTICS_DATA_PURGING:" + e.getMessage(), e); } }
private void deletePurgingTasks(String scriptFilePath) { File deploymentFileData = new File(scriptFilePath); int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); log.info( "Undeploying purging task : " + deploymentFileData.getName() + " for tenant : " + tenantId); try { AnalyticsDataPurgingConfiguration purgingConfiguration = getAnalyticsDataPurgingConfiguration(deploymentFileData); if (purgingConfiguration != null) { if (purgingConfiguration.getPurgingIncludeTables() != null) { TaskManager taskManager = AnalyticsServiceHolder.getTaskService() .getTaskManager(Constants.ANALYTICS_DATA_PURGING); for (AnalyticsDataPurgingIncludeTable analyticsDataPurgingIncludeTable : purgingConfiguration.getPurgingIncludeTables()) { if (analyticsDataPurgingIncludeTable.getValue() != null && !analyticsDataPurgingIncludeTable.getValue().isEmpty()) { taskManager.deleteTask( getDataPurgingTaskName(analyticsDataPurgingIncludeTable.getValue())); } } } } } catch (TaskException e) { log.error( "Unable to get task manager instance for ANALYTICS_DATA_PURGING:" + e.getMessage(), e); } }
@SuppressWarnings({"rawtypes", "unchecked"}) private void loadHazelcast() { BundleContext ctx = FrameworkUtil.getBundle(AnalyticsServiceHolder.class).getBundleContext(); ServiceReference ref = ctx.getServiceReference(HazelcastInstance.class); if (ref != null) { AnalyticsServiceHolder.setHazelcastInstance((HazelcastInstance) ctx.getService(ref)); } }
protected void activate(ComponentContext ctx) { if (log.isDebugEnabled()) { log.debug("Starting AnalyticsDataServiceComponent#activate"); } BundleContext bundleContext = ctx.getBundleContext(); try { AnalyticsDataServiceConfiguration config = this.loadAnalyticsDataServiceConfig(); bundleContext.registerService( AnalyticsDataService.class, new AnalyticsDataServiceImpl(config), null); this.loadHazelcast(); AnalyticsClusterManager clusterManager = new AnalyticsClusterManagerImpl(); bundleContext.registerService(AnalyticsClusterManager.class, clusterManager, null); AnalyticsServiceHolder.setAnalyticsClusterManager(clusterManager); if (log.isDebugEnabled()) { log.debug("Finished AnalyticsDataServiceComponent#activate"); } } catch (AnalyticsException e) { log.error("Error in activating analytics data service: " + e.getMessage(), e); } }