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

お知らせ

Java SE 7 Update 51 利用環境でセキュリティマネージャを有効にした場合、JDK 付属のDerby(Java DB)が起動できなくなる問題について

概要

Java SE 7 Update 51 におけるセキュリティ強化により、セキュリティマネージャが有効になっている場合、既定のセキュリティポリシーでは、エフェメラルポート以外のポートをlistenできず、JDK 付属のDerby(Java DB:以下Derby)が起動しません。

エラー内容

本問題に該当すると、ログファイル(derby.log)に次のメッセージが出力され、Derbyの起動が失敗します。

ログファイル(derby.log)

access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve")
java.security.AccessControlException: access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve")



詳細

Java SE 7 Update 51 では、信頼されていないコードを含む全てのコードに対するソケットパーミッションの既定値が変更されました。
この制約により、エフェメラルポートを除いた範囲のポートに対しバインドを行うためには、明示的な許可を与える必要があります。

JDK 付属のDerbyを既定の状態(※1)で起動した場合、ポートバインドに対する明示的な許可が与えられないため、上記の制約に抵触し、起動に失敗します。

(※1) セキュリティマネージャが有効かつ1527ポート使用



問題のある製品

  • WebOTX Developer (with Developer's Studio) V9.1~V9.2
    ※テスト用サーバでDerbyを使用している場合
  • WebOTX Batch Server V9.1~V9.2
    ※設定ファイルにwebotx.batch.setup.derby.enabled=true (デフォルト値はtrue)を指定してドメインをセットアップしている場合



対処方法

WebOTX Developer (with Developer's Studio)

次の手順でセキュリティマネージャを無効にして起動してください。

(1) WebOTX統合運用管理コンソールを起動し、[アプリケーションサーバ]-[データベースコントローラ]をクリック
(2) 右ページの[定義情報]タブをクリックして、[データベースの起動コマンド]の引数で「-noSecurityManager」を設定

(例)"C:\Program Files\Java\jdk1.7.0_51\db\bin\startNetworkServer.bat" -h localhost -p 1527 -noSecurityManager


WebOTX Batch Server
次の手順でDerbyの起動スクリプトに、-noSecurityManager オプションを指定してください。

  • (Linuxの場合の例)

    /opt/WebOTX/domains/batchsv1/defaultRepo/startDerby.sh

    修正前:
    eval "${AS_JAVA}/bin/java" "${DERBY_OPTS}" org.apache.derby.drda.NetworkServerControl start -h ${BS_DOMAIN_DEFAULT_DERBY_HOST} -p ${BS_DOMAIN_DEFAULT_DERBY_PORT}

    修正後:
    eval "${AS_JAVA}/bin/java" "${DERBY_OPTS}" org.apache.derby.drda.NetworkServerControl start -noSecurityManager -h ${BS_DOMAIN_DEFAULT_DERBY_HOST} -p ${BS_DOMAIN_DEFAULT_DERBY_PORT}

  • (Windowsの場合の例)

    C:\WebOTX\domains\batchsv1\defaultRepo\startDerby.cmd

    修正前:
    "%AS_JAVA%\bin\java" %DERBY_OPTS% org.apache.derby.drda.NetworkServerControl start -h %BS_DOMAIN_DEFAULT_DERBY_HOST% -p %BS_DOMAIN_DEFAULT_DERBY_PORT%

    修正後:
    "%AS_JAVA%\bin\java" %DERBY_OPTS% org.apache.derby.drda.NetworkServerControl start -noSecurityManager -h %BS_DOMAIN_DEFAULT_DERBY_HOST% -p %BS_DOMAIN_DEFAULT_DERBY_PORT%

参考情報

製品名カテゴリ

WebOTX
WebOTX Application Server
WebOTX Batch Server

  • コンテンツID: 3010100806
  • 公開日: 2014年03月12日
  • 最終更新日:2014年03月12日
ここからページ共通メニューです。 ページ共通メニューを読み飛ばす。