...
古いJetty 10には高負荷時のメモリリークの問題があるようですので、該当する場合には10.0.11以降を使用することをお勧めします。https://shibboleth.atlassian.net/browse/IDP-1969
再びlogbackライブラリの問題ですが、Jetty 9.4.46以降にバージョンアップすると再び
書式設定済み |
---|
java.security.PrivilegedActionException: java.lang.ClassNotFoundException: ch.qos.logback.access.jetty.RequestLogImpl |
のエラーで起動しなくなる場合があります。Jettyが要求するバージョンのlogback/slf4j各ライブラリが配置されていないことによる問題ですが、Shibboleth開発元では各ライブラリのバージョン指定を上書きするという対処をとっているようでございますのでここでもそちらの方法で案内します。
まず前提として、Jettyは同梱していないライブラリに対してもバージョン指定されているものがあり、こちらでライブラリを用意していても指定されたバージョンのものでなければ使用されません。
/opt/jetty-base/で提供しているバージョンのライブラリの使用を強制するために、/opt/jetty-base/start.d/idp-logging.ini の末尾に以下のような記述を追加します。以下はjetty-baseの9.4.1-20211028版の例ですが、/opt/jetty-base/lib/{logback,slf4j}/ 以下に配置されている実際のライブラリのバージョンを記述してください。
コード ブロック |
---|
# Override logback version pinned in jetty-home/modules/logback-impl.mod
logback.version=1.2.6
# Override SLF4J version pinned in jetty-home/modules/slf4j-api.mod
slf4j.version=1.7.32 |
IdP 4.1.x から IdP 4.2.x へアップデートする場合の注意点
...
こちらもこのバージョンに限ったことではありませんが、Jettyを9.4.44以降に更新する場合、logbackライブラリのコンフリクトで従来の44以降に更新する場合、logbackライブラリのコンフリクトでバージョン違いで従来の/opt/jetty-base/では以下のエラーで起動できません。
...