Glassfishの設定値をコマンド(asadmin)で確認、設定する方法

  • 更新日2020.01.17
  • IT
NO IMAGE
Glassfishの設定値をコマンド(asadmin)で確認、設定する方法。
全てのgetを取得して、必要と思われる値をsetで設定します。

久々にGlassfishの設定を修正する機会があったのですが、
ググってもglassfishの設定取得方法がいい感じに検索上位に出てこないので、
備忘録的に記述します。
(確かに今となってはGlassfishってあまり使われませんし・・・)

全確認

asadmin get configs.*
Glassfishの設定値を取得するコマンド。
.単位での指定が可能なので、
上位のconfigs配下を全検索する。
asadmin get conf

のような指定方法だと表示されません。
カンマで区切られている単位での指定が必要です。
実行すると以下のような情報が表示されます。
configs.config.default-config.availability-service.auto-manage-ha-store=false
configs.config.default-config.availability-service.availability-enabled=true
configs.config.default-config.availability-service.ha-store-healthcheck-enabled=false
configs.config.default-config.availability-service.ha-store-healthcheck-interval-in-seconds=5
・・・以下大量に設定値が表示される
あとはこれで表示されたものをgrepで条件抽出して、
必要な値を探します。

個別確認

設定値がわかっている場合はワイルドカードを使用せず、
全部指定し確認ができます。
asadmin get configs.config.server-config.thread-pools.thread-pool.thread-pool-1.max-queue-size

設定

asadmin set 設定値=設定したい値
で設定可能。具体例は以下の通り。
asadmin set configs.config.server-config.thread-pools.thread-pool.http-thread-pool.max-queue-size=4096
全検索で確認した値を設定。


私は、Glassfishの大量投入により、
待ち受けキューの超過異常が発生していたためその値を修正するため、
値を確認しました。

例外としては以下のような異常が発生。
java.util.concurrent.RejectedExecutionException: The thread pool's task queue is full, limit: 4096
何かキューに関する設定値がないかなと
全件検索後、grep queueをすると上記設定で記述したような
max-queue-size関連の設定がありました。
(上記以外にもgrepでconfigs.config.server-config.thread-pools.thread-pool.thread-pool-1.max-queue-sizeなような値も検索されました。
お使いのglassfishに合わせて設定してみてください。)
そこでこの辺のキューサイズを拡張し同時待ち受けの許容量を増やすことで、
異常が解消されました。

ITカテゴリの最新記事