Слишком сложно, если вы спросите меня.
Одной строки здесь должно быть достаточно:
Date expiryDate = new Date( System.currentTimeMillis() + ttlInSeconds * 1000l )
Убедитесь, что вы используете long
числа здесь, иначе числа будут сокращены до 2147483647
, что может привести к неправильным результатам для больших TTL.