У меня странная проблема при создании Java лямбда-функции, которая имеет основную функцию проверки токена JWT. Я использую terraform для создания лямбды и загружаю свой файл Jar в s3 на данный момент. Ниже приведен блок проверки токена
public boolean validate(String token) throws Exception {
try {
Jws<Claims> claims = Jwts.parser().setSigningKey("mysigningkey").parseClaimsJws(token);
if (claims.getBody().getExpiration().before(new Date())) {
throw new Exception("Token expired");
}
return true;
} catch (JwtException | IllegalArgumentException e) {
throw new InvalidJwtAuthenticationException("Some exception");
}
}
Эта строка вызывает проблему
Jws<Claims> claims = Jwts.parser().setSigningKey("mysigningkey").parseClaimsJws(token);
Я поставил Исключение и Ошибка в блоке catch, но он не печатает никаких сообщений. Но эта строка не выполняется. Я попытался вручную создать функцию в консоли AWS с тем же файлом JAR, и тот же код работал нормально.
Есть идеи об этом поведении? Или какие-либо стратегии отладки? В журналах наблюдения за облаком это только что напечатанное выполнение не было успешным, и никаких других указанных c сообщений об ошибках.
Следующее сообщение записывается в журналы Cloudwatch:
REPORT RequestId: ####### Duration: 1835.00 ms Billed Duration: 1900 ms Memory Size: 512 MB Max Memory Used: 93 MB Init Duration: 349.72 ms
Время ожидания установлено как 3 секунды