Я хочу использовать несколько таблиц ключей в нескольких потоках сервера. Я не хочу использовать файл конфигурации JAAS, поэтому я реализовал свою собственную конфигурацию входа в класс LoginConfiguration. Функция getGSSCredentials() в классе KerberosLogin используется для получения учетных данных, указав расположение keytab в качестве параметра.
KerberosLogin -> http://ideone.com/vaip3H LoginConfiguration -> http://ideone.com/jDqlN0
Когда я запустил только два потока сервера, первый смог получить учетные данные из своего keytab (оба потока сервера используют разные принципы службы), а второй не удалось. Каким-то образом использование parms.put("refreshKrb5Config","true");
в LoginConfiguration решило проблему.
Я не могу понять, почему он не работает без обновления конфигурации, и в случаях, когда таких серверных потоков будет несколько, будет ли его безопасно использовать. Есть ли лучший способ использовать несколько вкладок?