forked from github/dataease
Merge branch 'v1.9' into dev
This commit is contained in:
commit
00c3d57288
@ -43,8 +43,8 @@ public class KettleController {
|
||||
|
||||
@ApiIgnore
|
||||
@PostMapping("validate")
|
||||
public void validate(@RequestBody KettleDTO kettleDTO) throws Exception{
|
||||
kettleService.validate(kettleDTO);
|
||||
public ResultHolder validate(@RequestBody KettleDTO kettleDTO) throws Exception{
|
||||
return kettleService.validate(kettleDTO);
|
||||
}
|
||||
|
||||
@RequiresPermissions("sysparam:read")
|
||||
|
@ -19,8 +19,7 @@ public class DataSourceInitStartListener implements ApplicationListener<Applicat
|
||||
@Override
|
||||
public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) {
|
||||
datasourceService.initAllDataSourceConnectionPool();
|
||||
dataSetTableService.updateDatasetTableStatus();
|
||||
|
||||
// dataSetTableService.updateDatasetTableStatus();
|
||||
}
|
||||
|
||||
|
||||
|
@ -2220,10 +2220,11 @@ public class DataSetTableService {
|
||||
.filter(qrtzSchedulerState -> qrtzSchedulerState.getLastCheckinTime()
|
||||
+ qrtzSchedulerState.getCheckinInterval() + 1000 > utilMapper.currentTimestamp())
|
||||
.map(QrtzSchedulerStateKey::getInstanceName).collect(Collectors.toList());
|
||||
List<DatasetTable> jobStoppeddDatasetTables = new ArrayList<>();
|
||||
|
||||
DatasetTableExample example = new DatasetTableExample();
|
||||
example.createCriteria().andSyncStatusEqualTo(JobStatus.Underway.name());
|
||||
List<DatasetTable> jobStoppeddDatasetTables = new ArrayList<>();
|
||||
|
||||
datasetTableMapper.selectByExample(example).forEach(datasetTable -> {
|
||||
if (StringUtils.isEmpty(datasetTable.getQrtzInstance()) || !activeQrtzInstances.contains(
|
||||
datasetTable.getQrtzInstance().substring(0, datasetTable.getQrtzInstance().length() - 13))) {
|
||||
@ -2235,21 +2236,25 @@ public class DataSetTableService {
|
||||
return;
|
||||
}
|
||||
|
||||
//Task
|
||||
DatasetTableTaskExample datasetTableTaskExample = new DatasetTableTaskExample();
|
||||
DatasetTableTaskExample.Criteria criteria = datasetTableTaskExample.createCriteria();
|
||||
criteria.andTableIdIn(jobStoppeddDatasetTables.stream().map(DatasetTable::getId).collect(Collectors.toList())).andLastExecStatusEqualTo(JobStatus.Underway.name());
|
||||
List<DatasetTableTask> datasetTableTasks = dataSetTableTaskService.list(datasetTableTaskExample);
|
||||
if (CollectionUtils.isEmpty(datasetTableTasks)) {
|
||||
return;
|
||||
}
|
||||
|
||||
dataSetTableTaskService.updateTaskStatus(datasetTableTasks, JobStatus.Error);
|
||||
|
||||
//DatasetTable
|
||||
DatasetTable record = new DatasetTable();
|
||||
record.setSyncStatus(JobStatus.Error.name());
|
||||
example.clear();
|
||||
example.createCriteria().andSyncStatusEqualTo(JobStatus.Underway.name())
|
||||
.andIdIn(jobStoppeddDatasetTables.stream().map(DatasetTable::getId).collect(Collectors.toList()));
|
||||
.andIdIn(datasetTableTasks.stream().map(DatasetTableTask::getTableId).collect(Collectors.toList()));
|
||||
datasetTableMapper.updateByExampleSelective(record, example);
|
||||
|
||||
//Task
|
||||
DatasetTableTaskExample datasetTableTaskExample = new DatasetTableTaskExample();
|
||||
DatasetTableTaskExample.Criteria criteria = datasetTableTaskExample.createCriteria();
|
||||
criteria.andTableIdIn(jobStoppeddDatasetTables.stream().map(DatasetTable::getId).collect(Collectors.toList())).andStatusEqualTo(JobStatus.Underway.name());
|
||||
List<DatasetTableTask> datasetTableTasks = dataSetTableTaskService.list(datasetTableTaskExample);
|
||||
dataSetTableTaskService.updateTaskStatus(datasetTableTasks, JobStatus.Error);
|
||||
|
||||
//TaskLog
|
||||
DatasetTableTaskLog datasetTableTaskLog = new DatasetTableTaskLog();
|
||||
datasetTableTaskLog.setStatus(JobStatus.Error.name());
|
||||
@ -2257,13 +2262,13 @@ public class DataSetTableService {
|
||||
|
||||
DatasetTableTaskLogExample datasetTableTaskLogExample = new DatasetTableTaskLogExample();
|
||||
datasetTableTaskLogExample.createCriteria().andStatusEqualTo(JobStatus.Underway.name())
|
||||
.andTableIdIn(jobStoppeddDatasetTables.stream().map(DatasetTable::getId).collect(Collectors.toList()));
|
||||
.andTableIdIn(datasetTableTasks.stream().map(DatasetTableTask::getTableId).collect(Collectors.toList()));
|
||||
datasetTableTaskLogMapper.updateByExampleSelective(datasetTableTaskLog, datasetTableTaskLogExample);
|
||||
|
||||
for (DatasetTable jobStoppeddDatasetTable : jobStoppeddDatasetTables) {
|
||||
extractDataService.deleteFile("all_scope", jobStoppeddDatasetTable.getId());
|
||||
extractDataService.deleteFile("incremental_add", jobStoppeddDatasetTable.getId());
|
||||
extractDataService.deleteFile("incremental_delete", jobStoppeddDatasetTable.getId());
|
||||
for (DatasetTableTask datasetTableTask : datasetTableTasks) {
|
||||
extractDataService.deleteFile("all_scope", datasetTableTask.getTableId());
|
||||
extractDataService.deleteFile("incremental_add", datasetTableTask.getTableId());
|
||||
extractDataService.deleteFile("incremental_delete", datasetTableTask.getTableId());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -60,12 +60,18 @@ public class KettleService {
|
||||
deEngineMapper.deleteByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public void validate(KettleDTO kettleDTO) throws Exception {
|
||||
public ResultHolder validate(KettleDTO kettleDTO) throws Exception {
|
||||
HttpClientConfig httpClientConfig = new HttpClientConfig();
|
||||
String authValue = "Basic " + Base64.getUrlEncoder().encodeToString((kettleDTO.getUser()
|
||||
+ ":" + kettleDTO.getPasswd()).getBytes());
|
||||
httpClientConfig.addHeader("Authorization", authValue);
|
||||
try {
|
||||
String response = HttpClientUtil.get("http://" + kettleDTO.getCarte() + ":" + kettleDTO.getPort() + "/kettle/status/", httpClientConfig);
|
||||
|
||||
return ResultHolder.error("Kettle is valid.");
|
||||
}catch (Exception e){
|
||||
return ResultHolder.error("Kettle is invalid: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public ResultHolder validate(String id) {
|
||||
@ -116,7 +122,7 @@ public class KettleService {
|
||||
remoteSlaveServer.setHostname(kettleDTO.getCarte());
|
||||
remoteSlaveServer.setPort(kettleDTO.getPort());
|
||||
remoteSlaveServer.setUsername(kettleDTO.getUser());
|
||||
remoteSlaveServer.setPort(kettleDTO.getPasswd());
|
||||
remoteSlaveServer.setPassword(kettleDTO.getPasswd());
|
||||
}
|
||||
return remoteSlaveServer;
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ export function save(data) {
|
||||
|
||||
export function deleteKettle(id) {
|
||||
return request({
|
||||
url: '/delete/' + id,
|
||||
url: '/kettle/delete/' + id,
|
||||
method: 'delete',
|
||||
loading: true
|
||||
})
|
||||
|
@ -46,7 +46,7 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-form-item :label="$t('datasource.http_port')" prop="configuration.port">
|
||||
<el-form-item :label="$t('datasource.http_port')" prop="configuration.httpPort">
|
||||
<el-input v-model="form.configuration.httpPort" autocomplete="off" type="number" min="0"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -156,6 +156,13 @@ export default {
|
||||
trigger: ['change', 'blur']
|
||||
}
|
||||
],
|
||||
'configuration.httpPort': [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('datasource.please_input_port'),
|
||||
trigger: ['change', 'blur']
|
||||
}
|
||||
],
|
||||
'configuration.dataBase': [
|
||||
{
|
||||
required: true,
|
||||
@ -212,7 +219,7 @@ export default {
|
||||
this.show = false
|
||||
},
|
||||
save() {
|
||||
if (this.form.configuration.dataSourceType === 'jdbc' && this.form.configuration.port <= 0) {
|
||||
if (this.form.configuration.dataSourceType === 'jdbc' && (this.form.configuration.port <= 0 || this.form.configuration.httpPort <= 0)) {
|
||||
this.$message.error(i18n.t('datasource.port_no_less_then_0'))
|
||||
return
|
||||
}
|
||||
@ -256,7 +263,7 @@ export default {
|
||||
this.$message.error(i18n.t('datasource.please_choose_schema'))
|
||||
return
|
||||
}
|
||||
if (this.form.configuration.dataSourceType === 'jdbc' && this.form.configuration.port <= 0) {
|
||||
if (this.form.configuration.dataSourceType === 'jdbc' && (this.form.configuration.port <= 0 || this.form.configuration.httpPort <= 0)) {
|
||||
this.$message.error(i18n.t('datasource.port_no_less_then_0'))
|
||||
return
|
||||
}
|
||||
|
@ -118,7 +118,7 @@ export default {
|
||||
}],
|
||||
'configuration.passwd': [{
|
||||
required: true,
|
||||
message: this.$t('dcommons.required'),
|
||||
message: this.$t('commons.required'),
|
||||
trigger: 'blur'
|
||||
}]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user