public boolean addJobStatusTraceEvent()

in ecosystem/tracing/rdb/src/main/java/org/apache/shardingsphere/elasticjob/tracing/rdb/storage/repository/RDBJobEventRepository.java [323:349]


    public boolean addJobStatusTraceEvent(final JobStatusTraceEvent event) {
        String originalTaskId = event.getOriginalTaskId();
        if (State.TASK_STAGING != event.getState()) {
            originalTaskId = getOriginalTaskId(event.getTaskId());
        }
        boolean result = false;
        try (
                Connection connection = dataSource.getConnection();
                PreparedStatement preparedStatement = connection.prepareStatement(sqlMapper.getInsertForJobStatusTraceLog())) {
            preparedStatement.setString(1, UUID.randomUUID().toString());
            preparedStatement.setString(2, event.getJobName());
            preparedStatement.setString(3, originalTaskId);
            preparedStatement.setString(4, event.getTaskId());
            preparedStatement.setString(5, event.getSlaveId());
            preparedStatement.setString(6, event.getExecutionType().name());
            preparedStatement.setString(7, event.getShardingItems());
            preparedStatement.setString(8, event.getState().toString());
            preparedStatement.setString(9, truncateString(event.getMessage()));
            preparedStatement.setTimestamp(10, new Timestamp(event.getCreationTime().getTime()));
            preparedStatement.execute();
            result = true;
        } catch (final SQLException ex) {
            // TODO log failure directly to output log, consider to be configurable in the future
            log.error(ex.getMessage());
        }
        return result;
    }