Я использую karaf 4.0.10 с Jetty 9.2.21 и pax-web-jetty 4.3.4.Я попытался настроить SecurityHandler с помощью jetty-web.xml, установив для логического атрибута SecurityHandler
<Configure id="webapp"
class="org.eclipse.jetty.webapp.WebAppContext">
<Get name="securityHandler">
<Set name="sessionRenewedOnAuthentication" type="boolean">false</Set>
</Get>
Однако произошел сбой
DOMJettyWebXmlParser | NoSuchMethodException while parsing jetty-web.xml
java.lang.NoSuchMethodException: org.eclipse.jetty.security.ConstraintSecurityHandler.setSessionRenewedOnAuthentication(java.lang.Boolean)
at java.lang.Class.getMethod(Class.java:1786)[:1.8.0_172]
at org.ops4j.pax.web.service.jetty.internal.util.DOMJettyWebXmlParser.set(DOMJettyWebXmlParser.java:188)[634:org.ops4j.pax.web.pax-web-jetty:4.3.4]
Исключение является правильным: ConstraintSecurityHandler имеет метод с аргументом примитивный логический тип, а не логический класс, который DOMJettyWebXmlParser пытался использовать.
Мне удалось использовать немного другую конфигурацию
<Configure id="webapp"
class="org.eclipse.jetty.webapp.WebAppContext">
<Get name="securityHandler">
<Call name="setSessionRenewedOnAuthentication">
<Arg type="boolean">false</Arg>
</Call>
</Get>
</Configure>
На этот раз метод был найден.У меня есть вопрос: это ошибка в pax-web или я что-то не так делаю в моем методе Set?