« 13年目の運用まとめ | トップページ | OwnCloud 10.9.0 へのアップグレード »

2021年12月21日 (火)

WildFly 25 へのアップデート

世間では log4j の脆弱性が見つかって大騒ぎとなっていたが、当院のクライアントは logback、サーバは jboss logging なので、影響はないと考えられた。ただ、今回の騒動で、サーバを WildFly 18 で放置したままだったことを思い出してしまった。そろそろやばいかもしれないと思い立ち、よい機会なのでアップデートすることにした。

WildFly 25.0.2 の準備

WildFly の GitHub から branch 25.x を選択,"Download Zip" して解凍する。作業時点ではこれで 25.0.2.Final がダウンロードされた。

mac で WildFly 25.0.2 のビルド

brew をアップデートして mvn と ant を最新にしておく。

$ brew update ; brew upgrade

しかる後に build。JAVA_HOME を指定しないと jre を使ってしまうため、 tool.jar が見つからないと怒られる。ちなみに,java はまだ 1.8.0 のままである。

$ JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home mvn install
[INFO] Scanning for projects...
Downloading from jboss-public-repository-group: https://repository.jboss.org/nexus/content/groups/public/org/wildfly/core/wildfly-core-parent/17.0.3.Final/wildfly-core-parent-17.0.3.Final.pom
Downloaded from jboss-public-repository-group: https://repository.jboss.org/nexus/content/groups/public/org/wildfly/core/wildfly-core-parent/17.0.3.Final/wildfly-core-parent-17.0.3.Final.pom (123 kB at 61 kB/s)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
 :
BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  26:20 min
[INFO] Finished at: 2021-12-15T08:22:04+09:00
[INFO] ------------------------------------------------------------------------

これで wildfly-25.0.2.Final-SNAPSHOT ができる。WildFly 18.0.1 と同じく,full distributable build が欲しい場合は,build/target ではなく,dist/target の方を使う必要がある。

WildFly 25.0.2 のセットアップ

  • ./standalone.sh -b 0.0.0.0 で立ち上げて,./add-user.sh で管理ユーザ登録
  • JDBC の登録(ドライバは postgresql-42.3.1.jar),data-source の作成,パスワード登録。
    $ ./jboss-cli.sh --connect
    [standalone@localhost:9990 /] module add --name=org.postgres --resources=~/Downloads/postgresql-42.3.1.jar --dependencies=javax.api,javax.transaction.api
    [standalone@localhost:9990 /] /subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)
    [standalone@localhost:9990 /] data-source add --jndi-name=java:jboss/datasouces/DolphinDS --name=DolphinDS --connection-url=jdbc:postgresql://localhost/dolphin --driver-name=postgres --user-name=dolphin
    [standalone@localhost:9990 /] /subsystem=datasources/data-source=DolphinDS:write-attribute(name=password, value=dolphin)
    [standalone@localhost:9990 /] quit
    

OpenDolphin の修正

  1. WildFly 25 の pom.xml に合わせて,OpenDolphin クライアント・サーバの pom.xml のバージョンを変更する。RestEasy は 4.7.2、Jackson は 2.12.3 になっていた。
  2. Resteasy 3 から 4 になって、ResteasyClient の作成方法が変更になった。
  3. Jackson は 2.10 以降セキュリティチェックが厳しくなったようで、StampModel と ModuleModel でいろいろなクラスで使い回していた model フィールドを、実際にどのクラスが使っているのかの指定が必要になった。

起動時に dolphin サーバを立ち上げる

crontab を更新

$ crontab -l
@reboot /home/dolphin/wildfly-25.0.2.Final-SNAPSHOT/bin/standalone.sh -b addr.of.dolphin.server > /dev/null 2>&1

lucene index

hibernate search のバージョンは変わっていないので、インデックスはそのまま使えた。エントリー数は WildFly 18 に移行した 2019年 の 259,968 件から 295,603 件に増加していた。


WildFly アップデート記録
  • 2008年 JBossAS 4.0.5
  • 2009年 JBossAS 4.2.3
  • 2010年 JBossAS 5.1.0
  • 2013年 JBossAS 7.1.4
  • 2015年 WildFly 8.2.1
  • 2017年 WildFly 10.2.0
  • 2019年 WildFly 18.0.1
  • 2021年 WildFly 25.0.2

« 13年目の運用まとめ | トップページ | OwnCloud 10.9.0 へのアップグレード »

OpenDolphin」カテゴリの記事