diff --git a/src/main/java/com/eactive/ext/kjb/statistics/job/DailyToMonthlyAggregationJob.java b/src/main/java/com/eactive/ext/kjb/statistics/job/DailyToMonthlyAggregationJob.java index 1c5872e..4f5e8f1 100644 --- a/src/main/java/com/eactive/ext/kjb/statistics/job/DailyToMonthlyAggregationJob.java +++ b/src/main/java/com/eactive/ext/kjb/statistics/job/DailyToMonthlyAggregationJob.java @@ -16,6 +16,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import com.eactive.eai.rms.common.datasource.DataSourceContextHolder; +import com.eactive.eai.rms.common.datasource.DataSourceType; +import com.eactive.eai.rms.common.datasource.DataSourceTypeManager; import com.eactive.eai.rms.data.entity.onl.kjb.statistics.ApiStatsMonth; import com.eactive.eai.rms.data.entity.onl.kjb.statistics.ApiStatsMonthService; import com.eactive.eai.rms.data.entity.onl.kjb.statistics.ApiStatsDayService; @@ -35,6 +38,7 @@ public class DailyToMonthlyAggregationJob implements Job { private ApiStatsDayService apiStatsDayService; private ApiStatsMonthService apiStatsMonthService; + private DailyToMonthlyAggregationJob self; @Autowired public void setApiStatsDayService(ApiStatsDayService apiStatsDayService) { @@ -46,14 +50,22 @@ public class DailyToMonthlyAggregationJob implements Job { this.apiStatsMonthService = apiStatsMonthService; } + @Autowired + public void setSelf(DailyToMonthlyAggregationJob self) { + this.self = self; + } + @Override - @Transactional public void execute(JobExecutionContext context) throws JobExecutionException { + DataSourceType dataType = DataSourceTypeManager.getDataSourceType(DataSourceTypeManager.APIGW); + DataSourceContextHolder.setDataSourceType(dataType); try { YearMonth targetMonth = YearMonth.now().minusMonths(1); - executeManual(targetMonth); + self.executeManual(targetMonth); } catch (Exception e) { throw new JobExecutionException(e); + } finally { + DataSourceContextHolder.clearDataSourceType(); } } diff --git a/src/main/java/com/eactive/ext/kjb/statistics/job/HourlyToDailyAggregationJob.java b/src/main/java/com/eactive/ext/kjb/statistics/job/HourlyToDailyAggregationJob.java index cfb4144..2495d2d 100644 --- a/src/main/java/com/eactive/ext/kjb/statistics/job/HourlyToDailyAggregationJob.java +++ b/src/main/java/com/eactive/ext/kjb/statistics/job/HourlyToDailyAggregationJob.java @@ -15,6 +15,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import com.eactive.eai.rms.common.datasource.DataSourceContextHolder; +import com.eactive.eai.rms.common.datasource.DataSourceType; +import com.eactive.eai.rms.common.datasource.DataSourceTypeManager; import com.eactive.eai.rms.data.entity.onl.kjb.statistics.ApiStatsDay; import com.eactive.eai.rms.data.entity.onl.kjb.statistics.ApiStatsDayService; import com.eactive.eai.rms.data.entity.onl.kjb.statistics.ApiStatsHourService; @@ -34,6 +37,7 @@ public class HourlyToDailyAggregationJob implements Job { private ApiStatsHourService apiStatsHourService; private ApiStatsDayService apiStatsDayService; + private HourlyToDailyAggregationJob self; @Autowired public void setApiStatsHourService(ApiStatsHourService apiStatsHourService) { @@ -45,14 +49,22 @@ public class HourlyToDailyAggregationJob implements Job { this.apiStatsDayService = apiStatsDayService; } + @Autowired + public void setSelf(HourlyToDailyAggregationJob self) { + this.self = self; + } + @Override - @Transactional public void execute(JobExecutionContext context) throws JobExecutionException { + DataSourceType dataType = DataSourceTypeManager.getDataSourceType(DataSourceTypeManager.APIGW); + DataSourceContextHolder.setDataSourceType(dataType); try { LocalDate targetDate = LocalDate.now().minusDays(1); - executeManual(targetDate); + self.executeManual(targetDate); } catch (Exception e) { throw new JobExecutionException(e); + } finally { + DataSourceContextHolder.clearDataSourceType(); } } diff --git a/src/main/java/com/eactive/ext/kjb/statistics/job/MonthlyToYearlyAggregationJob.java b/src/main/java/com/eactive/ext/kjb/statistics/job/MonthlyToYearlyAggregationJob.java index c4eea0e..0e4f932 100644 --- a/src/main/java/com/eactive/ext/kjb/statistics/job/MonthlyToYearlyAggregationJob.java +++ b/src/main/java/com/eactive/ext/kjb/statistics/job/MonthlyToYearlyAggregationJob.java @@ -14,6 +14,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import com.eactive.eai.rms.common.datasource.DataSourceContextHolder; +import com.eactive.eai.rms.common.datasource.DataSourceType; +import com.eactive.eai.rms.common.datasource.DataSourceTypeManager; import com.eactive.eai.rms.data.entity.onl.kjb.statistics.ApiStatsYear; import com.eactive.eai.rms.data.entity.onl.kjb.statistics.ApiStatsYearService; import com.eactive.eai.rms.data.entity.onl.kjb.statistics.ApiStatsMonthService; @@ -33,6 +36,7 @@ public class MonthlyToYearlyAggregationJob implements Job { private ApiStatsMonthService apiStatsMonthService; private ApiStatsYearService apiStatsYearService; + private MonthlyToYearlyAggregationJob self; @Autowired public void setApiStatsMonthService(ApiStatsMonthService apiStatsMonthService) { @@ -44,14 +48,22 @@ public class MonthlyToYearlyAggregationJob implements Job { this.apiStatsYearService = apiStatsYearService; } + @Autowired + public void setSelf(MonthlyToYearlyAggregationJob self) { + this.self = self; + } + @Override - @Transactional public void execute(JobExecutionContext context) throws JobExecutionException { + DataSourceType dataType = DataSourceTypeManager.getDataSourceType(DataSourceTypeManager.APIGW); + DataSourceContextHolder.setDataSourceType(dataType); try { Year targetYear = Year.now().minusYears(1); - executeManual(targetYear); + self.executeManual(targetYear); } catch (Exception e) { throw new JobExecutionException(e); + } finally { + DataSourceContextHolder.clearDataSourceType(); } }