Остановить Spring Batch от регистрации параметров заданияJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Остановить Spring Batch от регистрации параметров задания

Сообщение Anonymous »

Мы используем пакет Spring для автоматизации некоторых процессов и передаем ряд параметров, некоторые из которых являются конфиденциальными паролями и не могут быть зарегистрированы.

Я предотвратил регистрацию этих паролей, расширив классы JobParameter и JobParameters, создав классы SensitiveJobParameter и SensistiveJobParameters соответственно, которые переопределяют toString() и getString() соответственно, чтобы параметры могли быть правильно возвращены, когда это необходимо, и записаны в виде звездочек, когда это необходимо.

Это позволяет мне маскировать конфиденциальные параметры звездочками и, похоже, в основном работает. Однако похоже, и я все еще просматриваю журналы, чтобы убедиться, что это так: если задание завершается сбоем и перезапускается, параметры загружаются из базы данных и не очищаются.
Есть ли в коде/конфигурации способ запретить пакету Spring регистрировать свои параметры?

Я знаю, что могу изменить конфигурацию slf4j, чтобы остановить задание лаунчер от ведения журнала, но это означает, что все, что кто-то должен сделать, это изменить конфигурацию ведения журнала, чтобы регистрировать пароли, что я не считаю приемлемым.

Параметры специально указаны регистрируется SimpleJobLauncher в этом блоке кода:

Код: Выделить всё

taskExecutor.execute(new Runnable() {

@Override
public void run() {
try {
logger.info("Job: [" + job + "] launched with the following parameters: [" + jobParameters
+ "]");
job.execute(jobExecution);
logger.info("Job: [" + job + "] completed with the following parameters: [" + jobParameters
+ "] and the following status: [" + jobExecution.getStatus() + "]");
}
catch (Throwable t) {
logger.info("Job: [" + job
+ "] failed unexpectedly and fatally with the following parameters: [" + jobParameters
+ "]", t);
rethrow(t);
}
}

private void rethrow(Throwable t) {
if (t instanceof RuntimeException) {
throw (RuntimeException) t;
}
else if (t instanceof Error) {
throw (Error) t;
}
throw new IllegalStateException(t);
}
});
И если я не смогу найти лучшее решение, я могу переопределить метод запуска средства запуска SimpleJob, чтобы не использовать этот оператор регистрации, но это кажется излишним.

И если я не смогу найти лучшее решение, я могу переопределить метод запуска средства запуска SimpleJob, чтобы не иметь этого оператора журналирования, но это кажется излишним.

п>

Подробнее здесь: https://stackoverflow.com/questions/373 ... parameters
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»