我正在使用HDFS密钥表在API调用上执行某些超级用户操作。密钥记录大约每6个月更改一次,如果发生违规,有时会更频繁。每当发生这种情况时,我的应用程序需要通过SSH从远程主机获取最新的keytabs。
出于性能原因,在每个API调用中,我想确定现有的keytab是否仍然有效且是最新的。 (如果没有,则无需获取它。)一种方法是尝试使用keytab,如果抛出异常,则获取新的keytab。但是,我不喜欢这种方法,因为我理解using exception handling to control flow is an anti-pattern。
理想情况下,我会查询某种API来检查当前keytab的有效性,并且只在必要时才获取最新的keytab。 UserGroupInformation
Java API是否提供了这样做的方法?