我通过JBoss EAP 6.4中配置的数据源与使用KerberosLoginModule的安全域连接到MSSQL Server。
我的应用程序连接成功,可以正常工作长达10个小时。之后,Kerberos票证将过期,因为10小时是Active Directory作为KDC的默认生命周期,并且我的应用程序失败并显示“Ticket Expired(32)”错误。
我不明白为什么在故障单过期后,应用程序不再尝试使用密钥表来获取新故障单。
有任何线索吗?
答案 0 :(得分:-1)
多亏了this Red Hat support article,我才得以解决我的事件。
我所缺少的是Infinispan的数据源缓存容器,其寿命不到10小时,这是默认的Kerberos票证有效期。通过为缓存中的连接对象设置较低的生命周期,可以在到期之前逐出票证,并使用较晚的到期日期来创建新票证。