Commit f1332778 by wutong

帮助.net运行一个冗余计算任务.

parent 459dfe8a
......@@ -3,6 +3,10 @@ package com.bailuntec;
import com.alibaba.druid.pool.DruidDataSource;
import com.bailuntec.job.ProcSyncDataWareHouseJob;
import com.bailuntec.job.SaveSkuWarehouseStockJob;
import com.bailuntec.job.SkuWarehouseRedundancyJob;
import com.bailuntec.listener.ProcSyncDataWareHouseJobListener;
import com.bailuntec.listener.SaveSkuWarehouseStockJobListener;
import com.bailuntec.listener.SkuWarehouseRedundancyJobListener;
import com.bailuntec.utils.PropertiesUtil;
import com.dangdang.ddframe.job.config.JobCoreConfiguration;
import com.dangdang.ddframe.job.config.simple.SimpleJobConfiguration;
......@@ -25,8 +29,9 @@ public class Application {
private static final String EVENT_RDB_STORAGE_USERNAME = propertiesUtil.getPropertyAsString("EVENT_RDB_STORAGE_USERNAME");
private static final String EVENT_RDB_STORAGE_PASSWORD = propertiesUtil.getPropertyAsString("EVENT_RDB_STORAGE_PASSWORD");
public static void main(String[] args) {
new JobScheduler(createRegistryCenter(), createJobConfiguration1()).init();
new JobScheduler(createRegistryCenter(), createJobConfiguration2()).init();
new JobScheduler(createRegistryCenter(), createJobConfiguration1(),createJobEventConfiguration(), new ProcSyncDataWareHouseJobListener()).init();
new JobScheduler(createRegistryCenter(), createJobConfiguration2(),createJobEventConfiguration(), new SaveSkuWarehouseStockJobListener()).init();
new JobScheduler(createRegistryCenter(), createJobConfiguration3(),createJobEventConfiguration(), new SkuWarehouseRedundancyJobListener()).init();
}
private static CoordinatorRegistryCenter createRegistryCenter() {
......@@ -36,18 +41,25 @@ public class Application {
}
private static LiteJobConfiguration createJobConfiguration1() {
JobCoreConfiguration simpleCoreConfig = JobCoreConfiguration.newBuilder(propertiesUtil.getPropertyAsString("JOB_NAME_PROC_SYNC_DATAWAREHOUSE"), propertiesUtil.getPropertyAsString("JOB_CRON"), propertiesUtil.getPropertyAsInt("SHARDING_TOTAL_COUNT")).build();
JobCoreConfiguration simpleCoreConfig = JobCoreConfiguration.newBuilder(propertiesUtil.getPropertyAsString("JOB_NAME_PROC_SYNC_DATAWAREHOUSE"), propertiesUtil.getPropertyAsString("JOB_CRON_PROC_SYNC_DATAWAREHOUSE"), propertiesUtil.getPropertyAsInt("SHARDING_TOTAL_COUNT")).build();
SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(simpleCoreConfig, ProcSyncDataWareHouseJob.class.getCanonicalName());
LiteJobConfiguration simpleJobRootConfig = LiteJobConfiguration.newBuilder(simpleJobConfig).build();
return simpleJobRootConfig;
}
private static LiteJobConfiguration createJobConfiguration2() {
JobCoreConfiguration simpleCoreConfig = JobCoreConfiguration.newBuilder(propertiesUtil.getPropertyAsString("JOB_NAME_SAVE_SKUWAREHOUSESTOCK"), propertiesUtil.getPropertyAsString("JOB_CRON"), propertiesUtil.getPropertyAsInt("SHARDING_TOTAL_COUNT")).build();
JobCoreConfiguration simpleCoreConfig = JobCoreConfiguration.newBuilder(propertiesUtil.getPropertyAsString("JOB_NAME_SAVE_SKUWAREHOUSESTOCK"), propertiesUtil.getPropertyAsString("JOB_CRON_SAVE_SKUWAREHOUSESTOCK"), propertiesUtil.getPropertyAsInt("SHARDING_TOTAL_COUNT")).build();
SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(simpleCoreConfig, SaveSkuWarehouseStockJob.class.getCanonicalName());
LiteJobConfiguration simpleJobRootConfig = LiteJobConfiguration.newBuilder(simpleJobConfig).build();
return simpleJobRootConfig;
}
private static LiteJobConfiguration createJobConfiguration3() {
JobCoreConfiguration simpleCoreConfig = JobCoreConfiguration.newBuilder(propertiesUtil.getPropertyAsString("JOB_NAME_SKUWAREHOUSEREDUNDANCY"), propertiesUtil.getPropertyAsString("JOB_CRON_SKUWAREHOUSEREDUNDANCY"), propertiesUtil.getPropertyAsInt("SHARDING_TOTAL_COUNT")).build();
SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(simpleCoreConfig, SkuWarehouseRedundancyJob.class.getCanonicalName());
LiteJobConfiguration simpleJobRootConfig = LiteJobConfiguration.newBuilder(simpleJobConfig).build();
return simpleJobRootConfig;
}
private static JobEventConfiguration createJobEventConfiguration() {
JobEventConfiguration jobEventRdbConfig = new JobEventRdbConfiguration(setUpEventTraceDataSource());
return jobEventRdbConfig;
......
package com.bailuntec.job;
import com.bailuntec.utils.OkHttpUtil;
import com.bailuntec.utils.PropertiesUtil;
import com.dangdang.ddframe.job.api.ShardingContext;
import com.dangdang.ddframe.job.api.simple.SimpleJob;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
public class SkuWarehouseRedundancyJob implements SimpleJob {
private OkHttpClient client = OkHttpUtil.getInstance();
private PropertiesUtil propertiesUtil = PropertiesUtil.getInstance("const");
@Override
public void execute(ShardingContext shardingContext) {
Request request = new Request.Builder().url(propertiesUtil.getPropertyAsString("SKUWAREHOUSEREDUNDANCY_URL"))
.get()
.addHeader("Content-Type", "application/json")
.build();
Response response = null;
try {
response = client.newCall(request).execute();
} catch (IOException e) {
throw new RuntimeException("调用SkuWarehouseRedundancy接口失败", e);
} finally {
if (response != null) {
response.close();
}
}
}
}
package com.bailuntec.listener;
import com.dangdang.ddframe.job.executor.ShardingContexts;
import com.dangdang.ddframe.job.lite.api.listener.ElasticJobListener;
public class ProcSyncDataWareHouseJobListener implements ElasticJobListener {
@Override
public void beforeJobExecuted(ShardingContexts shardingContexts) {
}
@Override
public void afterJobExecuted(ShardingContexts shardingContexts) {
}
}
package com.bailuntec.listener;
import com.dangdang.ddframe.job.executor.ShardingContexts;
import com.dangdang.ddframe.job.lite.api.listener.ElasticJobListener;
public class SaveSkuWarehouseStockJobListener implements ElasticJobListener {
@Override
public void beforeJobExecuted(ShardingContexts shardingContexts) {
}
@Override
public void afterJobExecuted(ShardingContexts shardingContexts) {
}
}
package com.bailuntec.listener;
import com.dangdang.ddframe.job.executor.ShardingContexts;
import com.dangdang.ddframe.job.lite.api.listener.ElasticJobListener;
public class SkuWarehouseRedundancyJobListener implements ElasticJobListener {
@Override
public void beforeJobExecuted(ShardingContexts shardingContexts) {
}
@Override
public void afterJobExecuted(ShardingContexts shardingContexts) {
}
}
SKUWAREHOUSEREDUNDANCY_URL=http://testdata.bailuntec.com/Api/SkuWarehouseRedundancy
\ No newline at end of file
......@@ -11,5 +11,8 @@ ZOOKEEPER_SERVER=172.31.255.120:2181
NAME_SPACE=data-center
JOB_NAME_PROC_SYNC_DATAWAREHOUSE=mid-stored-procedure-proc-sync-datawarehouse
JOB_NAME_SAVE_SKUWAREHOUSESTOCK=mid-stored-procedure-save-skuwarehousestock
JOB_CRON=0 0 3 * * ? *
JOB_NAME_SKUWAREHOUSEREDUNDANCY=mid-stored-procedure-skuwarehouse-redundancy
JOB_CRON_PROC_SYNC_DATAWAREHOUSE=0 0 3 * * ? *
JOB_CRON_SAVE_SKUWAREHOUSESTOCK=0 0 4 * * ? *
JOB_CRON_SKUWAREHOUSEREDUNDANCY=0 0 7 * * ? *
SHARDING_TOTAL_COUNT=1
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment