'Spring boot concern about custom exception message
I have the following class:
@SoapFault(faultCode = FaultCode.CLIENT)
public class PasswordDigitsException extends RuntimeException {
private static final String errorMessage;
static {
if (PasswordConstraints.MIN_DIGITS == 1) {
errorMessage = String.format("Password must contain at least %d digit",
PasswordConstraints.MIN_DIGITS);
} else {
errorMessage = String.format("Password must contain at least %d digits",
PasswordConstraints.MIN_DIGITS);
}
}
public PasswordDigitsException() {
super(errorMessage);
}
}
And the folowing interface:
public interface PasswordConstraints {
int MINIM_LENGTH = 6;
int MAXIM_LENGTH = 20;
int MIN_UPPER_CASE_LETTERS = 1;
int MIN_LOWER_CASE_LETTERS = 1;
int MIN_DIGITS = 1;
int MIN_SPECIAL_CHARACTERS = 1;
}
From what I read, https://www.geeksforgeeks.org/static-blocks-in-java/, the code inside the static block is executed only once: the first time the class is loaded into memory. So the concern is: If I'll modify the interface fields, I would have to recompile this exception class as well, which I don't want to do.
The question is: is there any method I could keep the custom message without recompiling exception class? (and without going in service to send the message manual)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
