複数のサーバー スレッドで複数のキータブを使用したいと考えています。JAAS conf ファイルを使用したくないので、LoginConfiguration クラスに独自のログイン構成を実装しました。KerberosLogin クラスの getGSSCredentials() 関数を使用して、キータブの場所をパラメーターとして指定することで資格情報を取得します。
KerberosLogin -> http://ideone.com/vaip3H LoginConfiguration -> http://ideone.com/jDqlN0
2 つのサーバー スレッドのみを実行したとき、最初の 1 つはそのキータブから資格情報を取得できました (両方のサーバー スレッドは異なるサービス プリンシパルを使用します) が、2 番目のスレッドは失敗しました。どういうわけかparms.put("refreshKrb5Config","true");
LoginConfigurationで使用すると問題が解決しました。
構成を更新しないと機能しない理由を理解できません。そのようなサーバースレッドが複数ある場合は、安全に使用できます。複数のキータブを使用するより良い方法はありますか?