ページの先頭です。
ここから本文です。

お知らせ

[WebOTX] Java SE Development Kit 8 Update 231以降 / Java SE Development Kit 11.0.5以降でJMSサーバが起動しない問題と対策について


概要

Windows上で動作する、次のWebOTX Application Serverにおいて、使用するJava SE Development Kitのバージョンにより、JMSサーバを起動できません。

  • WebOTX V10.1、V10.2において、次のJDKを使用した場合
    - Oracle Java SE Development Kit 8 Update 231以降 (以降、JDK 8u231と表記)

  • WebOTX V10.2において、次のJDKを使用した場合
    - Oracle Java SE Development Kit 11.0.5以降 (以降、JDK 11.0.5と表記)
    - OpenJDK 8 Update 231以降 (以降、OpenJDK 8u231と表記)
    - OpenJDK 11.0.5以降


影響のある製品

    < Windows >
  • WebOTX Application Server Express V10.1~V10.2 (※)
  • WebOTX Application Server Standard V10.1~V10.2
(※)WebOTX Enterprise Service Bus V10.1、および、WebOTX Portal V10.1にバンドルされているWebOTX Application Server Expressを使用している場合にも該当します。


詳細

JDK 8u231 / JDK 11.0.5 / OpenJDK 8u231 / OpenJDK 11.0.5 において、Windows環境における、java.lang.Runtime#exec()、および、java.lang.ProcessBuilderの引数の制約強化が行われました(JDK-8221858)。

この変更により、Windows環境で、次の条件を全て満たす場合、Runtime#exec()、および、ProcessBuilderでの外部プロセス起動ができなくなっています。

・セキュリティマネージャが有効
・外部プロセスの拡張子がexeではない
・起動コマンドの文字列に、"、&、|、<、>、^ のいずれかの文字を含む

WebOTX V10.1、V10.2でのJMSサーバの起動は、上記の条件に合致し、当該JDKを利用する場合、JMSサーバは起動しません。

なお、本事象が発生した場合、${INSTANCE_ROOT}/logs/agent.logに、次のメッセージが出力されます。
----------------------------------------
2020-02-14 16:55:15,660 ERROR JMS - OTX08005024: JMS サービスの起動に失敗しました。 [main]
com.nec.webotx.appserv.server.ServerLifecycleException: Cannot run program "cmd.exe": Malformed argument has embedded quote: "C:\WebOTX\jmq\bin\jmqbrokerd.bat" ~
        :
----------------------------------------


対処方法

Javaシステムプロパティ jdk.lang.Process.allowAmbiguousCommands に、true を設定して、JDK 8u231 / JDK 11.0.5 / OpenJDK 8u231 / OpenJDK 11.0.5 より前と同じ動作となるようにします。

設定方法は、次の通りです。

  1. JVMオプションとして、-Djdk.lang.Process.allowAmbiguousCommands=true を設定します。

    統合運用管理ツールの場合:
    [管理ドメイン[<ホスト名>]] > [<ドメイン名>] > [アプリケーションサーバ] > [JVM構成]から、[JVMオプション]タブにある、[JVMオプション]の[追加]をクリック。
    表示されたダイアログに次の値を入力し、[OK]をクリックしてダイアログを閉じた後に、[更新]をクリック。
    -Djdk.lang.Process.allowAmbiguousCommands=true

    運用管理コマンドの場合:
     otxadmin> login --user <ユーザ名> --password <パスワード> --host <ホスト名> --port <対象ドメインのポート番号>
     otxadmin> create-jvm-options "-Djdk.lang.Process.allowAmbiguousCommands=true"
  2. 動作への反映のため、ドメイン、または、WebOTXのサービスを再起動します。

    [ドメインの再起動]
     otxadmin> login --user admin --password <パスワード> --host <ホスト名> --port <管理ドメインのポート番号(既定値:6202)>
     otxadmin> stop-domain --remote=true <ドメイン名>
     otxadmin> start-domain --remote=true <ドメイン名>

回避方法

ありません。


備考

JDK-8221858の詳細は、次のURLを参照してください。
https://www.oracle.com/technetwork/java/javase/8u231-relnotes-5592812.html#JDK-8221858


更新履歴

2020/02/26 初版

製品名カテゴリ

WebOTX
WebOTX Application Server
WebOTX Service Integration
WebOTX Portal

対象製品

品名: WebOTX Application Server Express V10.1~V10.2
品名: WebOTX Application Server Standard V10.1~V10.2
  • コンテンツID: 3010102988
  • 公開日: 2020年02月26日
  • 最終更新日:2020年08月24日
ここからページ共通メニューです。 ページ共通メニューを読み飛ばす。