fix: npe when sync project

This commit is contained in:
vran 2022-05-05 20:17:43 +08:00
parent 3f2ff6e2ce
commit c52eab66aa
2 changed files with 6 additions and 2 deletions

View File

@ -54,7 +54,8 @@ public class ProjectSyncTaskScheduler {
updateSyncTaskStatus(taskId, ProjectSyncTaskStatus.FINISHED, "ok");
saveOperationLog(projectId, userId, null);
} catch (Exception e) {
updateSyncTaskStatus(taskId, ProjectSyncTaskStatus.FAILED, e.getMessage());
String result = Objects.requireNonNullElse(e.getMessage(), "unknown");
updateSyncTaskStatus(taskId, ProjectSyncTaskStatus.FAILED, result);
saveOperationLog(projectId, userId, e);
throw e;
}

View File

@ -143,13 +143,16 @@ public class DocumentService {
databasirConfig.setIgnoreTableNameRegex(jsonConverter.fromJson(rule.getIgnoreTableNameRegexArray()));
databasirConfig.setIgnoreTableColumnNameRegex(jsonConverter.fromJson(rule.getIgnoreColumnNameRegexArray()));
try {
if (jdbcConnection == null) {
throw DomainErrors.CONNECT_DATABASE_FAILED.exception();
}
DatabaseMeta databaseMeta = Databasir.of(databasirConfig)
.get(jdbcConnection, dataSource.getDatabaseName(), dataSource.getSchemaName())
.orElseThrow(DomainErrors.DATABASE_META_NOT_FOUND::exception);
return databaseMeta;
} finally {
try {
if (!jdbcConnection.isClosed()) {
if (jdbcConnection != null && !jdbcConnection.isClosed()) {
jdbcConnection.close();
}
} catch (SQLException e) {