注意:
WebLogic Serverの非推奨となった機能および削除された機能に関する情報はすべて、『Oracle WebLogic Server 12.2.1.2.0の新機能』の次の項に記載されています。
非推奨となった機能(WebLogic Server 12c)
削除された機能とコンポーネント
この章の内容は次のとおりです。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
Safariブラウザを使用してコンテンツをダウンロードする場合、ファイル名にマルチバイト文字が含まれていると、ファイル名の文字が"------"として表示されます。
回避策
管理対象サーバーでUseHeaderEncoding
をtrue
に設定します。この操作を行うには、次のWLSTコマンドを使用します。
connect("admin_name", "admin_password", "t3://localhost:port") edit() startEdit() cd("Servers/server_name/WebServer/server_name") set("UseHeaderEncoding", "true") save() activate() exit()
プラットフォーム: すべて
このリリースのWebLogic Serverでの強力なパスワードの適用(8文字以上で、1つの数値または特殊文字を含む)の実装により、既存のスクリプトで問題が発生する可能性があります。
回避策
次のいずれかの回避策を使用して、新しいパスワード制限をバイパスします。
BACKWARD_COMPAT_PW_CHECK
環境変数をtrue
に設定します。
WLSTを呼び出す際に-Dbackward.compat.pw.check=true
オプションを含めます。
この変数とオプションはWebLogic Serverの将来のリリースで削除されるため、新しいパスワード要件を満たすようにパスワードを変更することをお薦めします。
プラットフォーム: すべて
id
という名前の属性にnull値が返されるため、MDSリポジトリを使用するアプリケーションは、WebLogic ServerにバンドルされているJAXBバージョンでデプロイまたは実行できません。
回避策
サーバーを英語ロケールで起動します。
プラットフォーム: Linux
管理サーバーに対して構成されているファイル記述子の最大数が65535未満の場合、WebLogic Server管理サーバーは、Enterprise Manager (EM)コンソールで「開いているファイルが多すぎます
」のメッセージをレポートします。
回避策
次のコマンドを実行して、現在構成されているファイル記述子の最大数を確認します。
cat /proc/sys/fs/file-max
値が65535未満の場合は、次の手順を実行します。
WebLogic Serverに依存しておらず、Mavenを使用するCoherenceユーザーは、独立型のCoherenceインストーラを使用する必要があります。
WebLogic Serverに依存しておらず、Mavenを使用するCoherenceユーザーは、「WebLogic Server」または「Completeおよび例」インストール・オプションを選択する必要があります。「Coherenceインストール」オプションは選択しないでください。
プラットフォーム: すべて
デフォルトのWebLogic Serverメッセージの接頭辞は、WebLogic Serverの今後のリリースでBEAからWLに変更されます。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
WebLogic Server管理コンソールでページ・フローが完了すると、別のページ(通常は表)に進みます。
この時点でブラウザの「戻る」ボタンをクリックすると、完了したアシスタント内の最後のJSPファイルのロードが試行されます。この時点で、このアシスタントのコンテキストはすべて破棄されます。
回避策
変更がキャンセルされるか完了した後は、アシスタントに戻るためにブラウザの「戻る」ボタンを使用しないことをお薦めします。また、アシスタント内の前の手順に戻らないこともお薦めします。かわりに、WebLogic Server管理コンソールのナビゲーション・リンクおよびボタンを使用してください。
プラットフォーム: すべて
WebLogic Server管理コンソールでは、サポート対象外で想定どおりに機能しないワーク・マネージャの構成を作成できます。不適切なワーク・マネージャ構成があるとサーバー・ログに多数の例外が記録されます。最も多いのは、デプロイメント記述子の解析中に発生する「Validation problems were found
」例外です。
回避策
ワーク・マネージャ構成に関するオンライン・ヘルプのガイドラインに従ってください。特に、特定のワーク・マネージャに割り当てられるリクエスト・クラスは1つだけです。リクエスト・クラスのスコープはワーク・マネージャと同じかそれより広くする必要があります。アプリケーション・スコープのリクエスト・クラスをグローバルなワーク・マネージャに割り当てないでください。また、アプリケーション・スコープのワーク・マネージャに対して複数のアプリケーション・スコープのリクエスト・クラスを作成しないでください。
ワーク・マネージャの構成を記載されている制約に従って修正すれば、これらの問題は解決します。
プラットフォーム: すべて
「クラスタ: 監視: サマリー」ページの「サーバー・ステータス」表には、「プライマリ」と「セカンダリ分散名」の2つのデフォルトの列があります。レプリケーションのシナリオによっては、これらのフィールドに、「クラスタ:モニター:フェイルオーバー」ページで修正および表示されたすべてのレプリケーション統計が反映されない場合があります。
詳細情報については、「クラスタ: 監視: フェイルオーバー」ページを参照してください。
プラットフォーム: すべて
別のライブラリ・デプロイメントで定義された型を参照しているEJBデプロイメントに対して、WebLogic Server管理コンソールでセキュリティ・ポリシーを定義するとき、そのライブラリ・デプロイメントをConsoleから使用できない場合に、例外が発生する可能性があります。
回避策
すべてのライブラリ・デプロイメントは、WebLogic Server管理サーバーと、アプリケーションの参照をサポートするために必要な任意の管理対象サーバーをターゲットにする必要があります。こうすると、ポリシーを定義するときに、必要に応じて参照された型をクラスロードするために、Consoleがそれらのライブラリ・デプロイメントにアクセスできるようになります。
プラットフォーム: すべて
WebLogic Server管理コンソールに、デプロイメント・プランに加えられた外部の変更が反映されない場合があります。ユーザーがコンソールでデプロイメント・プランを表示しているときに、コンソールの外部でデプロイメント・プランに変更が加えられた場合(たとえば、Workshopを使用する、プランのテキスト・ファイルを直接編集する、WLSTやWebLogic.Deployerを使用して新しいプランでデプロイメントを更新する場合など)、その変更はコンソールに表示されません。
回避策
別のデプロイメントの構成ページに移動してから、元のデプロイメントに再び戻ってください。
プラットフォーム: すべて
一部の構成では、WebLogic Server管理コンソールに含まれているアプリケーション・テスト・ページは、テストするリンクでIPv6アドレスを使用します。これらのアドレスは、WebLogicサーバー・インスタンスでは有効ですが、IPv4とIPv6の混合環境のいくつかにおいては、アプリケーションとの対話のためにブラウザから使用することはできず、テストするリンクを解決できません。
回避策
このシナリオは、一般に、管理者が構成でサーバーのためのリスニング・アドレスを指定せず、サーバーが、Javaおよびオペレーティング・システムがIPv4よりもIPv6を使用するよう構成されているデュアル・スタック(IPv6/IPv4)マシン上で実行されている場合に起こります。IPv4スタックがIPv6と通信できないこれらの混合環境では、IPv4のみを使用するためにすべてのサーバーがダウングレードされるよう、次のコマンドを使用してすべてのサーバー・インスタンスを開始することをお薦めします。
-Djava.net.preferIPv4Stack=true
プラットフォーム: すべて
管理対象サーバーにデプロイされたアプリケーションやEJBをWebLogic Server管理コンソールで操作する際、それらがデプロイされたライブラリに依存しているとjava.lang.NoClassDefFoundError
が発生することがあります。
回避策
WebLogic Server管理コンソールでは、Javaデータ型およびアノテーションを処理するために、共有ライブラリ・デプロイメントにアクセスする必要があります。したがって、すべての共有ライブラリ・デプロイメントは、管理対象サーバーまたはクラスタだけでなく、WebLogic Server管理サーバーにもターゲット指定されている必要があります。
プラットフォーム: すべて
新しく作成したCoherenceクラスタ・サービスまたはキャッシュのセキュリティ・ロール構成時に、WebLogic Server管理コンソールで、予想していないエラー状態が示されました。これは、WebLogic Server管理コンソールでは一般的なパターンであり、新しく作成されたアーティファクト上のセキュリティ・ロールおよびポリシーを構成するためにそれらにアクセスするには、アーティファクトを保存してアクティブ化する必要があります。多くのコンソール・ページはこれを確認し、次のことを示すメッセージを表示します: 「必要なセキュリティ・プロバイダが構成されていないか、構成の変更が保留中でアクティブ化されていないため、このページは使用できません。このページを使用するには変更をアクティブ化して、(必要に応じて)管理サーバーを再起動してください」。このチェックは、Coherenceセキュリティ・ページでは行われません。
回避策
新しいCoherenceクラスタを作成したら、構成の変更をアクティブ化し、再起動変更リストで示されている任意のサーバーを再起動します。これにより、Coherenceクラスタのリソースを、ロールおよびポリシー構成のために使用できるようになります。
プラットフォーム: MS Windows
「スタート」メニューからショートカットを使用してWindowsマシンでノード・マネージャを起動するオプションは、WebLogic Server 12.1.2ではなくなりました。
回避策
Windowsでは「スタート」メニューでショートカットを使用してノード・マネージャを起動できることを示すテキストは無視してください。
ノード・マネージャを起動するには、他の方法を使用してください。『Oracle WebLogic Serverのノード・マネージャの管理』のノード・マネージャの起動と停止に関する項を参照してください。
プラットフォーム: すべて
WebLogic Server 12.1.3からコンソール拡張が非推奨になりました。関連ドキュメントの『Oracle WebLogic Server管理コンソールの拡張』およびOracle WebLogic Server管理コンソールJava APIリファレンスは、ドキュメント・セットから削除されています。
この項では、次の問題と回避策について説明します。
プラットフォーム: Linux
クラスタ通信にユニキャスト・モードを使用している場合、クラスタ・メッセージングで多くのスレッドがブロックされ、クラスタ・メンバーによるハートビート・メッセージの送信が難しくなることがあります。この状況では、一部のクラスタ・メンバーがクラスタからドロップアウトし、クラスタへの再参加に時間がかかることがあります。
プラットフォーム: すべて
拡張性をサポートするために、WebLogic Server 12.2.1では動的クラスタの最小および最大サイズに関する次の構成可能な制約が導入されました。
MinDynamicClusterSize(デフォルト=1)
MaxDynamicClusterSize(デフォルト=8)
また、MaximumDynamicServerCount属性は非推奨となり、DynamicClusterSize属性に置き換えられました。この属性の値は、先に説明した最小および最大の制約に対して検証されます。その結果、一部の既存のユーザー構成/スクリプトが失敗することがあります。この場合、DynamicClusterSize値が限度内に収まるようにMaxDynamicClusterSize設定を適切に更新する必要があります。
プラットフォーム : すべて
Oracle HTTP Server、WebLogic Serverプロキシ・プラグインを使用するWebサーバー、またはOracle Traffic Directorなどのロード・バランサで構成されている、クラスタ化されたWebLogic ServerアプリケーションによってHTTP POST
リクエストが処理される場合、HTTP 503エラーが発生します。停止中のクラスタ化されたWebLogic Server管理対象サーバーにPOSTリクエストが送信された場合に、そのサーバーがそのリクエストを完了できないかそのリクエストの結果が不明な場合、ロード・バランサはHTTP 503エラーを返す必要があります。Oracle Traffic Directorを動的クラスタとともに使用しており、そのクラスタがスケール・ダウンされている場合、WebLogic Serverは、間もなく起こるサーバー正常停止をOracle Traffic Directorに通知し、リクエストをクラスタ内の残りのサーバーにルーティングしようとします。ただし、一部のHTTPリクエストが503エラーを受信する可能性があるときは、正常停止操作の合間の、Oracle Traffic DirectorがHTTPトラフィックをリダイレクトする前に、短い停止時間がある場合があります。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
Fusion Middleware製品のインストールを開始する前に既存のJAVA_OPTIONSがインストール環境に含まれている場合、ASProvWorkflowException
が原因でドメインが作成されないことがまれにあります。
回避策
Fusion Middleware製品のインストールを開始する前に、既存のJAVA_OPTIONSをクリアします。これらのJAVA_OPTIONSを使用するアプリケーションが環境内にある場合、アプリケーションはオプションをクリアした後で動作しなくなることがあります。この場合は、既存のJAVA_OPTIONSをテキスト・ファイルに保存し、他のアプリケーションを実行するための代替方法を調べます。
プラットフォーム: MS Windows
WLSTは、目的のロケールを設定することでローカライズされたメッセージで実行できます。英語以外のロケールでWLSTを実行する場合は、次の問題があることを認識してください。
Windowsオペレーティング・システムで、DOSコマンド・ウィンドウのアクティブ・コード・ページがシステムのローカル(ANSI)コード・ページと異なる場合は、DOSコマンド・ウィンドウを介してWLSTを起動する際に、-Dfile.encoding=<
DOS window's active code page
>
プロパティをWLSTプロセスに追加する必要があります。これにより、Javaプロセスのデフォルトの文字セットが変更されます。次に例を示します。
DOSウィンドウのアクティブ・コード・ページは850です。これは、WLSTコマンド・ウィンドウでchcp
コマンドを発行することで設定できます。
システムのローカル(ANSI)コード・ページは1250です。システムのローカル・コード・ページは、WindowsレジストリでHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NLS\CodePage\ACPキーの値を表示することで確認できます。標準のWindows編集ツール(メモ帳やワードパッドなど)で作成されたファイルは、この方法でエンコードされます。
この状況では、WLSTを次のように起動できます。
set WLST_PROPERTIES="-Dfile.encoding=cp850"
$WL_HOME%\common\bin\wlst.cmd
プラットフォーム: MS Windows
一部のMicrosoft Windowsプラットフォームでは、WebLogic構成ツール・コマンド(wlst
、config
、pack
、unpack
など)は、WebLogicインストール・パスに空白が含まれている場合に失敗することがあります。この場合、コマンドは、クラスが空白の後のインストール・パスの部分から導出されるjava.lang.ClassNotFoundException
で失敗することがあります。コマンドは、Windowsレジストリで短いファイル名の生成が無効になっている場合に失敗します。
回避策
構成ツールで空白が正しく処理されるようにするには、Windowsレジストリで短い名前の生成を有効にする必要があります。短い名前の生成を有効にするには、次のようにします。
regedit
を実行します。NtfsDisable8dot3NameCreation
をダブルクリックし、その値を0
に設定します。プラットフォーム: すべて
存在しないサーバー名でWebLogic Server管理サーバーに接続しようとすると、存在しないサーバー名のディレクトリがdomain_name
/servers
ディレクトリの下に作成されます。
回避策
管理対象サーバーの起動時に、有効なサーバー名を指定します。
プラットフォーム: Linux
WebLogicパスワードの入力直後に[Ctrl]+[C]を押してstartManagedWebLogic.sh
プロセスを終了した後で、ターミナル・ウィンドウで異常な動作が発生することがあります。たとえば、[Return]を押すと、プロンプトが次の行に移動するかわりにタブ移動し、プロンプトに入力した文字がターミナルに表示されません。
回避策
現在のxtermを終了して新規に開始するか、xtermにstty echo
と入力します。
プラットフォーム: Linux
次の場合には、WebLogic Serverドメインの作成または更新に長時間かかることがあります。
インストールにサーバー例が含まれている場合にUNIXまたはLinuxオペレーティング・システムにWebLogic Serverをインストールする場合。
WebLogic Server構成ウィザードを使用してドメインを作成または変更する場合。
WLSTを使用してドメインを作成または変更する場合。
回避策
CONFIG_JVM_ARGS環境変数を次の値に設定します。
-Djava.security.egd=file:/dev/./urandom
プラットフォーム: Linux
Linuxシステムでは、Oracle Fusion Middleware構成ウィザードで新規ドメインを作成する際に、「パスワード」および「パスワードの確認」フィールドが編集不能になることがあり、ドメインを作成するためのパスワードを入力できません。
回避策
この問題を回避するには2つの方法があります。
問題が発生するたびに回避するには、構成ウィザードの右上にある「ウィンドウを閉じる」(X)ボタンをクリックします。表示される確認ダイアログで、「いいえ」をクリックして構成ウィザードに戻ります。その後で、ドメインのパスワードを入力および確認できます。
この問題を永続的に解決するには、次のようにします。
すべてのscimプロセスを強制終了します。次に例を示します。
kill `pgrep scim`
ファイル~/.scim/config
を変更(または作成)して、次の行を含めます(大文字と小文字は区別されます)。
/FrontEnd/X11/Dynamic = true
VNCを実行している場合は、VNCサーバーを再起動します。
構成ウィザードをもう一度実行します。
プラットフォーム: すべて
ドメイン実行時MBeanサーバーは、ドメイン内のすべての管理対象サーバー実行時MBeanサーバーと通信できる、フェデレーテッドMBeanサーバーです。フェデレーション・アーキテクチャは、問合せの際によいパフォーマンスを示します。ただし、JMX通知がMBeanに追加される場合、ドメイン実行時MBeanサーバーは、多量のメモリーを消費する可能性があります。
JMX通知が使用される場合は、管理サーバーが、ドメイン内のすべての管理対象サーバーで実行されているすべての実行時MBeanサーバーに登録されているすべてのJMXオブジェクト名のコピーを保持する原因となる、2つのケースがあります。
WebLogic Serverレベルで、管理対象サーバー停止時のMBean通知の登録解除をシミュレートします。
JDK JMXクライアント通知レイヤーにおいてです。
この問題が発生する可能性は、次の両方の条件が存在する場合に増加します。
EM Fusion Middleware Controlは、ドメイン実行時MBeanサーバーに通知リスナーを追加するため、大きいドメインを管理するために使用されています。
JMX実行時MBeanの数を大幅に増加させるFusion Middleware製品が、ドメインに含まれています。これには、ドメイン内で実行されているWebLogic Server実行時MBeanサーバー・インスタンス(つまり、管理サーバーおよび管理対象サーバー)に登録されているMBeanを持つすべての製品が含まれます。(これらの製品には、Coherence、SOA Suite、OSBなどが含まれます。)
回避策
managed-server-notifications-enabled
属性を無効にします。この構成属性は、管理対象サーバー実行時MBeanサーバーに含まれる、MBean上で通知を定義する能力を無効にします(これらのMBeanは、ObjectName内にLocation=key
を含みます)。
管理対象サーバーの通知が無効になっている場合は、WebLogic ServerおよびJDKコンポーネントに含まれるMBeanのためのObjectNameの2つのセットは保持されません。通知リスナーは、MBeanServerDelegate上、およびローカルのドメイン実行時MBeanサーバーに含まれるMBean上でまだ定義できます。ただし、通知リスナーは、非ローカルMBeanには追加できません。
managed-server-notifications-enabled
属性は、次のようにWLSTを使用して設定できます。
edit() startEdit() cd("JMX/domain-name") cmo.setManagedServerNotificationsEnabled(false) activate()
editCustom()
MBeanへの変更をロールバックする際の問題プラットフォーム: すべて
editCustom()
ツリーには、上位のスタックおよびシステム・コンポーネント製品のためのMBeanが含まれています。これらのMBeanに変更を行うと、その変更は、保留中のディレクトリにすぐに続きます。これは、明示的な保存が必要な、edit()
ツリー内のWebLogic Server MBeanとは異なります。
stopEdit()
やcancelEdit()
を使用するか、開いている編集セッションでWLSTを終了すると、WebLogic Server MBeanへの保存されていない変更はロールバックされます。ただし、editCustom()
ツリーへの変更は持続されるため、ロールバックされません。
回避策
undo('y')
コマンドを使用して、editCustom()
MBeanへのアクティブ化されていない変更をロールバックします。
プラットフォーム: すべて
1つのDerbyインスタンスを共有している場合、同一ホスト上で2つの開発サーバーを起動できません。
回避策
1つのDerbyインスタンスを共有するかわりに、それぞれの開発サーバーが一意のDerbyインスタンスを使用するように構成してください。詳細は、『Oracle Service Bus開発者ガイド』の独自のDerbyインスタンスによる個々のドメインの実行に関する項を参照してください。
プラットフォーム: すべて
ドメインの作成にWebLogic Server構成ウィザード(config.sh
)を使用し、WebLogic Coherenceクラスタの拡張テンプレートを指定する場合は、Coherenceクラスタが定義されます。Coherenceクラスタは、同様に構成ウィザードで作成した任意の管理対象サーバーまたはWebLogic Serverクラスタに関連付けることができます。管理対象サーバーまたはWebLogic Serverクラスタを作成しない場合は、Coherenceクラスタは管理サーバーに関連付けられます。Coherenceクラスタとサーバー間のこの関連付けはWebLogic Server構成ツールを使用して完全には定義されないため、Coherenceキャッシュ構成オーバーライド・ファイルはCoherenceクラスタによって検出されません。この問題は、キャッシュ・オーバーライド機能を使用する場合にのみ発生します。
回避策
次の回避策を使用します。
この手順によって、Coherenceクラスタとターゲット・サーバー間の完全な関連付けが行われますが、これは指定されたCoherenceクラスタ・キャッシュ構成オーバーライド・ファイルの検索および使用のために必要です。
プラットフォーム: すべて
管理対象サーバーのドメイン・ディレクトリをテンプレートから作成する際に-managed=true
を指定します。-managed=true
を指定しないと、セキュリティ・ディレクトリ内に正しいファイル・セットがないため、管理対象サーバーの起動に失敗します。
プラットフォーム: すべて
ドメインを開発モードから本番モードに切り替えると、次のようになります。
ドメインの起動スクリプト(および-Xverify
フラグの値)が変更されない。
boot.properties
ファイルが引き続き使用される。
回避策
本番モードのドメインで、次のようにします。
起動スクリプトで-Xverify
フラグの値をnone
からall
に変更します。
boot.propeties
ファイルを削除します。詳細は、『Oracle WebLogic Serverドメイン構成の理解』の開発モードと本番モードに関する項を参照してください。
プラットフォーム: すべて
WLSTスクリプトまたはWLSTコマンドを実行すると、TypeError: state(): 第1引数はStringに強制変換できませんエラーが発生します
。このエラーは、WLSTクラス名server
がWLSTコマンドで変数名として使用されたために発生します。たとえば、次のコマンドでは、変数server
がクラスロード時にクラス名に置換されるため、このエラーが発生します。
state(server,'Server')
回避策
次のいずれかの回避策を使用します。
WLSTの起動時に-Dpython.cachedir.skip=true
パラメータを含めます。
予約済文字列名を別の文字列に変更します。たとえば、文字列名server
をsrvr
に変更すると問題を回避できます。
パーティションが通知を受信するよう設定されている場合でも、MBeanがMBeanサーバーから登録解除されたときにパーティション・リスナーが通知を受信しないことがあります。これは、WebLogic Server 12.2.1の現在の実装の制限によるものです。
回避策
現在、この問題に対する既知の回避策はありません。
既存のRGおよびRGTスコープの非モジュール構成への変更が、パーティションの再起動後も無視される場合があります。リソース・グループ・オーバーライドの変更も無視される場合があります。ただし、データ・ソース・チューニング、JMS宛先、接続ファクトリなどのモジュール・スコープの構成への変更は、この問題の影響を受けません。
WLSTを介した問合せでは変更が正しく表示されますが、サーバー・インスタンス内では古い値の使用が続けられます。
回避策
新しい値が有効になるようサーバーを再起動します。
同じタイプのリソースを含み、同じ名前を持つ2つのリソース・グループ・テンプレートがある場合にこの問題は発生します。
リソース・グループが初め1つのリソース・グループ・テンプレートをターゲットとし、次に2つ目のリソース・グループ・テンプレートをターゲットとして、2つ目のリソース・グループ・テンプレートの共有の名前を持つリソースに変更を加えると、それらの変更が反映されないことがあります。リソース・グループが1つ目のリソース・グループ・テンプレートのリソースの値を使用し続ける場合があります。
回避策
この問題を回避するには、次のいずれかの回避策を使用します。
複数のリソース・グループ・テンプレートで同じ名前のリソースを使用しないようにします。
2つ目のリソース・グループ・テンプレートのリソースに変更を加えた後、新しい値が有効になるようサーバーを再起動します。
WebLogic Serverは、仮想ターゲットの明示的なポートおよびポート・オフセットの設定のサポートを提供します。ただし、明示的なポートおよびポート・オフセットの設定は、現在パーティションに割り当てられている仮想ターゲットに対してのみ有効です。グローバル仮想ターゲット(パーティションに割り当てられていない仮想ターゲット)に対しては、明示的なポートおよびポート・オフセットの設定は有効ではありません。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
管理対象サーバーの1つをホストするマシンが突然停止される、ネットワーク・カードが取り外される、またはネットワーク・インタフェース・カードに問題がある場合に、サーバーがその管理対象サーバーと通信しようとすると、スレッドが接続の確立を待機したままスタックします。
回避策
現在は、この問題を解決するには、次のプライベート・フラグを使用し、
-Dweblogic.client.SocketConnectTimeoutInSecs
適切なタイムアウト値を設定します。接続を確立しようとしているスレッドが解放され、リクエストがすぐに失敗するようになります。
タイムアウト・プロパティの詳細は、『Oracle WebLogic Server RMIアプリケーションの開発』のクライアント・タイムアウトの設定に関する項を参照してください。
プラットフォーム: すべて
WebLogic ServerでIPv6フォーマットのアドレスを使用する場合は、URLのホスト・アドレス部分に大カッコ([および])を含める必要があります。そうしないと、WLSTは実行中のサーバーに接続できません。
回避策
ホスト・アドレスに大カッコを追加してください。次に例を示します。
t3://[fe80:0:0:0:203:baff:fe2f:59e5]:9991
プラットフォーム: すべて
クラスタ・サーバーのサーバー全体の移行が行われるときにWebLogic Server管理サーバーが停止していて、サーバーがそれまでに一度も実行されていないマシンに移行される場合、サーバーを新しいマシンで起動できません。
回避策
この問題には次のいずれかの回避策を使用してください。
サーバーの移行の実行中は必ず管理サーバーを稼働させておきます。
クラスタ内のすべての移行可能サーバーで共有のディスク/NFSを使用します。
プラットフォーム: すべて
J2EEアプリケーションでFastSwapを有効にしている場合、デプロイメント中にJavaクラスに対して特定の変更を行うと、再デプロイせずにその変更を確認することができますが、その際、Javaオブジェクトのすべてのインスタンスの状態は保持されます。
オブジェクトの状態が保持されないケースとして、フィールド名の変更があります。これは次のように処理されます。
古い名前のフィールドが削除される
新しい名前のフィールドが追加される
したがって、この場合、古いフィールドの状態はすべて、名前変更後のフィールドに持ち越されません。
WorkshopまたはFastSwap antタスクを使用すると、インスタンス・フィールド名の変更により値がリセットされた場合でも、「FastSwap操作は正常に完了しました
」というメッセージが表示される場合があります。
回避策
インスタンスの値がリセットされることを踏まえた上でフィールド名を変更してください。
プラットフォーム: すべて
ホスト名を使用してWebLogic Server管理サーバーまたは管理対象サーバーのリスニング・アドレスの構成を指定する場合、複数のイーサネット・カードで構成されたマシンは、起動後に別のホスト名でリスニングすることがあります。次に例を示します。
マシンに3つのイーサネット・カードがあります。
カード1はhostname1-s
(DNS登録ホスト名)にマップされています。
カード2はhostname1-i
(DNS登録ホスト名)にマップされています。
カード3はhostname1
(実際のノードのホスト名)にマップされています。
hostname1
でリスニングするようにサーバーを構成します。
Windowsは実際のノードのホスト名を最初に有効になったイーサネット・カード・アドレスに解決するため、サーバーは起動後にhostname1-s
でリスニングします。
回避策
この問題には次の3つの回避策のいずれかを使用します。
プラットフォーム: Linux
コマンド行から正しくないWebLogic Server管理サーバーURLを指定して管理対象サーバーを起動した場合(つまり、管理サーバーが指定されたURLに到達できない場合)、管理対象サーバーは管理対象サーバー独立(MSI)モードで起動します。
この場合、管理サーバーとノード・マネージャは管理対象サーバーのステータスを追跡できません。WebLogic Server管理コンソールには、管理対象サーバーのステータスがUNKNOWN(不明)と表示されますが、サーバーは実際にはMSIモードでRUNNING(実行中)です。
プラットフォーム: Linux
サーバー移行が行われる原因となったネットワークの分割中またはその後で、マルチキャスト・トラフィックの信頼性がなくなります。たとえば、あるノードはマルチキャスト・トラフィックを受信できますが、このノードから発信されたトラフィックはネットワークの他のノードで受信されません。その結果、移行されたサーバーは、ハートビートが受信されなかったためクラスタに追加されません。
回避策
現在わかっている回避策は、ユニキャスト・クラスタ・メッセージングを使用することだけです。
プラットフォーム: すべて
WebLogic Serverでは、移行のためのJava DBをサポートしていません。Java DBのためのWL_HOME
/server/db
ディレクトリには、使用可能なリース・スクリプトはありません。
この問題に対する回避策はありません。
プラットフォーム: すべて
外部ロード・バランサでt3
プロトコルを使用すると、クラスタへのブートストラップで使用されたロード・バランサのIPアドレスに初期接続が関連付けられたままになることがあります。そのため、初期接続後にごく一部のリクエストがロード・バランサを通過する可能性があります。この動作を任意の時点で変更する権限はOracleが保有しているため、この動作が認められる場合は、使用できない実装を使用したことにより悪影響が生じています。
プラットフォーム: すべて
2つ以上の管理対象サーバーを含むクラスタがあり、そのクラスタのメッセージング・モードをマルチキャストに設定すると、クラスタ内の管理対象サーバーの起動に失敗します。
回避策
この問題を回避するには、起動スクリプトstartWebLogic.sh
のJAVA_OPTIONS
に次のプロパティを追加します。次に例を示します。
export JAVA_OPTIONS="${JAVA_OPTIONS} –Djava.net.preferIPv4Stack=true"
サーバーJVMがストールし、ストールしたJVMスレッド・ダンプにほぼすべてのweblogic.kernel.Default
スレッドがwait-for-data
またはwait-for-prepare-acks
などの呼出しでストールしていることが示される場合があります。
回避策
この問題を回避するには、次のいずれかの回避策を使用してください。
関係するすべてのクラスタ内のすべてのサーバーで、JTACoordinatorWMワーク・マネージャのJTA最小スレッド制約限度を20または30に設定します。これは、-Dweblogic.transaction.jta.coordinator.wm.min.constraint=YYY
システム・プロパティを使用して行えます。
前述の回避策が機能しない場合、クラスタ内のすべてのサーバーJVMで-Dweblogic.threadpool.MinPoolSize=NNN
プロパティをスレッド・ダンプ内のweblogic.kernel.Default
スレッドの現在の値より20%高い値に設定します。スレッド・ダンプ内のスレッドの値が不明の場合は、まず100、次に150のように試していきます。ただし、スレッドの設定数が大きすぎると、パフォーマンスが低下したり、out of memory
エラーが発生することもあります。MinPoolSize
を400以上の値に設定する場合、-Dweblogic.threadpool.MaxPoolSize
を同じ値に設定する必要があり、そうしないとMinPoolSize
の値が無視されることにも注意する必要があります。
使用するスレッドの数が少なくなるようアプリケーションをチューニングします。たとえば、メッセージドリブンBean(MDB)のスレッド管理関連の例は、Oracle WebLogic ServerのパフォーマンスのチューニングのメッセージドリブンBeanのチューニングに関する項を参照してください。
想定される動作では、Beanクラスに@Local
のアノテーションが付いており(または@Local
も@Remote
も付いていない)、実装されているインタフェースの1つがjava.rmi.Remote
インタフェースを拡張している場合、インタフェースはローカル・クライアントによってのみアクセスされ、リモート・クライアントではアクセスできません。
ただし、12.2.1では@Local
のアノテーションが付いている場合に、インタフェースがリモート・クライアントによってアクセスされることがあります。
回避策
EJBへのアクセスをローカル・クライアントのみに制限する場合、EJBの実装で次の両方を避ける必要があります。
@Local
アノテーションの使用
java.rmi.Remote
インタフェースの拡張
低速トリガーと停止トリガーを同じ値に対して作成することができます。同様に、停止値と通知値も作成できます。RCMトリガーの構成時には、WebLogicシステム管理者がこれを手動で検証または回避する必要があります。
この項では、次の問題と回避策について説明します。
WebLogic Server 12.2.1以降、ポート番号が接続URLで指定されたSQL Serverの名前付きインスタンスに接続する場合、SQL ServerのDataDirect JDBCドライバが次のエラーを返します。
[FMWGEN][SQLServer JDBC Driver]Conflicting connection information. When the instance name is specified, it is invalid to specify the port number.
データ・ソースがデプロイに失敗します。
回避策
JDBCディスクリプタ・ファイルを更新してallowPortWithNamedInstance
プロパティをtrue
に設定するか、ポート番号をURLから削除する必要があります。
ポート番号を指定する場合、WebLogic Server管理コンソールで自動的にURLにallowPortWithNamedInstance=true
プロパティが付加されます。管理者がWLSTスクリプトを更新し、このプロパティをtrueに設定する必要があります。次のURLの例は有効です。
jdbc:weblogic:sqlserver://host\\INSTANCE:1433;DatabaseName=db;allowPortWithNamedInstance=true" jdbc:weblogic:sqlserver://host:1433;DatabaseName=db" jdbc:weblogic:sqlserver://host\\INSTANCE;DatabaseName=db"
この項では、次の問題と回避策について説明します。
CDI拡張でライフサイクル・イベントAfterBeanDiscoveryまたはAfterDeploymentValidationを監視している場合、javax.validation.ValidatoryFactory
Beanインスタンスの取得が失敗します。次に例を示します。
public class MyExtension implements Extension { void checkValidatorFactoryBean(@Observes AfterBeanDiscovery abd, BeanManager bm) { Set<Bean<?>> validatorFactoryBeans = bm.getBeans(ValidatorFactory.class, new AnnotationLiteral<Default>() {}); if (validatorFactoryBeans.isEmpty()) { throw new RuntimeException("Container provided BeanManager doesn't contain a bean of javax.validation.ValidationFactory"); } } }
前述のサンプル・コードでは、BeanManagerがValidatorFactory Beanインスタンスを取得できないため、RuntimeException
が発生します。これは、ValidatorFactoryおよびValidator BeanタイプがCDI 1.1より組込みBeanから削除されたために起こります。CDI 1.1以降、ValidatorFactoryおよびValidator Beanは、org.hibernate.validator.internal.cdi.ValidationExtension
拡張によって定義されています。
AfterBeanDiscoveryイベント・オブザーバの起動時に呼び出された場合、このメソッドは、AfterBeanDiscoveryイベントの起動前にコンテナによって検出されたBeanのみ返します。
アプリケーションにCDIが有効なEJBモジュールとCDIが有効でないWebモジュールの両方が含まれている場合、次の修飾子で定義されたイベントは送信されません。
@Initialized(ApplicationScoped.class) and @Destroyed(ApplicationScoped.class)
回避策
WARファイルのWEB-INFディレクトリに空のbeans.xml
ファイルを含めます。
WebLogic ServerのCDI 1.0では、META-INFディレクトリにbeans.xml
ファイルがあり、埋込みライブラリJARクラスがBeanアーカイブの一部として含まれている場合、RARアーカイブはCDI Beanアーカイブとして処理されます。WebLogic Server 12.2.1より、各アーカイブ(埋込みライブラリJARを含む)はMETA-inf/beans.xml
ファイルまたはBean定義アノテーションを含む1つ以上のクラスの有無に基づいてそれぞれ候補Beanアーカイブと見なされます。
したがって、以前の動作を再現するには、埋込みライブラリJARにMETA-INF/beans.xmlエントリまたはBean定義アノテーションを含む1つ以上のクラスが必要です。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
security-permission
要素は、weblogic.xml
およびweblogic-ejb-jar.xml
デプロイメント記述子では使用できますが、weblogic-application.xml
記述子では使用できません。したがって、エンタープライズ・アプリケーションでは、セキュリティ・ポリシーはEJBまたはWebアプリケーションのJARファイルにしか適用できません。
プラットフォーム: すべて
weblogic.Deployerツールでは、コマンド行引数の間にある無関係な文字列値がファイル仕様として解釈されます。たとえば、次のコマンドを入力したとします。
java weblogic.Deployer -activate -nostage true -name myname -source c:\myapp\mymodule
この場合、-nostage
オプションは引数をとらないため、true
は無関係な文字列値です。ツールは、trueという名前のファイル仕様をアクティブにしようとします。
プラットフォーム: すべて
restoreメソッドは、DConfig Beanをプラン・オーバーライドで正しく更新しません。たとえば、次のステップを実行するとします。
DeployableObject dObject = WebLogicDeployableObject.createDeployableObject(new File(appName)); DeploymentConfiguration dConfig = WebLogicDeploymentManager.createConfiguration(dObject); dConfig.restore(new FileInputStream(new File(plan)));
この場合、プランはDConfig Beanを正しくオーバーライドしません。
回避策
アプリケーションの構成を初期化する際にプランを指定します。次に例を示します。
helper = SessionHelper.getInstance( SessionHelper.getDisconnectedDeploymentManager()); helper.setApplication(app); helper.setPlan(new File(plan)); helper.initializeConfiguration();
プラットフォーム: すべて
upload
オプションを使用して大きなアプリケーション・ファイルがデプロイされる場合、デプロイメント・タスクは次のエラーで失敗します。
java.lang.OutOfMemoryError: Java heap space
この問題を解決するために、新しいシステム・プロパティweblogic.deploy.UploadLargeFile
が追加されました。この問題が発生する場合は、このフラグを、デプロイメント・クライアントの起動に使用するjava
コマンドに含めます。
WebLogic Serverパッチ・リリース9.2 MP2、9.2 MP3、10.0 MP1、10.0 M2、10.3、10.3.1、10.3.2または10.3.3を使用する場合、このフラグは必要ありません。
プラットフォーム: Linux
最初にあるソース・ファイルの場所を使用してアプリケーションをデプロイし、ソース・ファイルの新しい場所を使用してアプリケーションを再デプロイしようとした場合、デプロイメントは次の例外で失敗します。
New source location <new_source_file_path> cannot be configured deployed to
configured application, <application_name>. The application source is at
original_source_file_path. Changing the source location is not allowed for a
previously attempted deployment. Try deploying without specifying the source.
これは、WebLogic Serverのデプロイメント制限が原因です。デプロイメントのソース・ファイルを指定した後、それを再デプロイメントで変更することはできません。
回避策
新しいソース・ファイルの場所を使用して再デプロイを試行する前に、アプリケーションをアンデプロイします。
プラットフォーム: すべて
アプリケーションを作成してターゲットにデプロイし、その後、同じアプリケーションを同じターゲットにデプロイしようとしても、そのターゲットに同じアプリケーションがすでにデプロイされていることを通知する出力メッセージは表示されません。これは、2度目のアプリケーションのデプロイが再デプロイと同等と見なされるために発生します。
プラットフォーム: すべて
WebLogic Server 12.2.1より、指定されたアプリケーション名でドメインにアプリケーションをデプロイする際、そのアプリケーション名が現在のドメインですでに使用されている場合、アプリケーションのデプロイメントは失敗します。
これは、同じアプリケーション名を指定すると、指定された名前に基づいてWebLogic Serverが自動的に一意の名前を導出するというWebLogic Serverの以前のバージョンからの動作の変更です。
回避策
アプリケーションのデプロイメントが失敗しないようにするには、ドメイン内のすべてのアプリケーションに一意の名前を指定します。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
同期プラグインを使用してローカル・リポジトリにWebLogic Server Maveアーティファクトをインストールした後、appc Mavenプラグインを使用した際にエラーが発生します。
回避策
WebLogic Serverのpub-subライブラリは、コンパイラ問題の解決をBEA_HOMEシステム・プロパティに依存しています。コンパイルのためにpub-subアプリケーションでappcを実行する際に、BEA_HOMEシステム・プロパティを設定し、これらの依存関係を解決します。
この項では、ドメインからパーティションへの変換ツール(D-PCT)の既知の問題と考えられる回避策について説明します。
プラットフォーム
すべて
問題
ドメインのインポート時には、移行可能ターゲットを対象とする、同じクラスタを指しているすべての永続ストアは、配布ポリシーを分散済に設定して単一のエンティティに統合し、仮想ターゲットを介してクラスタをターゲット指定する必要があります。ただし、12.2.1.2.0では、この統合はJDBCストアのために失敗します。
この結果、一部のJDBCストアは、インポート後にどのJMSサーバー、SAFエージェントまたはパス・サービスによっても参照されません。これにより、リソース使用量が増加する可能性があります。
回避策
ドメインのインポート後に、どのJMSサーバー、SAFエージェントおよびパス・サービスにも参照されないJDBCストアを削除します。
プラットフォーム
すべて
問題
MBean名に次のいずれかの文字が含まれる場合は、D-PCTを使用してドメインをエクスポートするためにオフラインでWLSTを使用している間に、例外によってソース・ドメインのエクスポートが失敗します。
ピリオド(.)
スラッシュ( / )
バックスラッシュ( \ )
回避策
ソース・ドメインからリソースを削除し、ドメイン・アーカイブをインポートした後にそれを再作成します。
WLSTオフライン・モードで許可されていない文字を削除することで、リソースの名前を変更します。これは、config.xmlおよびその他の構成ファイルを適切に編集することで実行できます。MBean名を変更した後、ソース・ドメインを再起動し、ソース・ドメインをエクスポートする前に構成の変更によって他の問題が起こっていないことを確認します。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
Oracle表の主キーはCHARですが、SQL表の問合せフィールドはVARCHAR2です。
回避策
データベース・スキーマをCHARからVARCHAR2に変更してください。Oracleデータベースで、主キーとしてCHARを使用することはお薦めできません。
プラットフォーム: すべて
EJB3 BeanおよびEjbgen
に、クラスタ化可能なタイマーを作成するためのアノテーションがありません。
回避策
weblogic-ejb-jar.xmlファイルを作成し、これに<timer-implementation>
要素および対応する値を記入してください。
プラットフォーム: すべて
Kodoの MappingTool は、主キーでBLOBを使用しているクラスのスキーマを生成することができません。BLOBを主キーに使用することはできますが、スキーマは手動で定義する必要があります。ただし、JDOおよびJPA仕様では、主キーでBLOB列をサポートすることは必須ではありません。
プラットフォーム: すべて
JPAメタデータ・モデルの拡張は、アノテーションでしか指定できず、仕様に定義されている orm.xml のような構造体では指定できません。
回避策
オブジェクト・モデルにKodo固有のメタデータを指定する方法としては以下があります。
Kodo固有のアノテーションを使用するか、または
XMLベースのメタデータをJDOメタデータ形式に変換します(拡張のXML仕様はサポートされません)。
プラットフォーム: すべて
管理対象の環境でJDO PersistenceManagerFactory
をデシリアライズするとエラーが発生する可能性があります。例外にはjavax.jdo.PersistenceManagerFactoryClass
プロパティがないことが示されています。管理対象の環境では通常、PersistenceManagerFactory
をシリアライズする必要はありません。
プラットフォーム: すべて
クラス・レベルで宣言された索引は、スキーマの作成時に作成されないことがあります。
回避策
スキーマ生成ツールの実行後に、索引を手動で作成します。
プラットフォーム: すべて
一部のデータベースで@Id
フィールドに@Unique
アノテーションも付いている場合、OpenJPAが例外をスローします。データベースの主キーは本質的にユニークです。一部のデータベースでは、列に対してユニークな索引を作成することで、この性質を実装しています。
回避策
1つのフィールドに対して@Id
と@Unique
の両方を指定しないでください。
プラットフォーム: すべて
バージョン・データのないエンティティを操作すると、キャッシュのヒットとミスの数が予想外に増えることがあります。EntityManagerが終了し、含まれているすべてのエンティティがデタッチされるときに、余分なキャッシュ・アクセスが行われます。バージョン・フィールドのないエンティティは、システムからはバージョン・データがないように見え、システムはデタッチ前にそれらのバージョンをキャッシュでチェックすることで応答します。
回避策
バージョン・フィールドまたはその他のバージョン戦略があるエンティティは、余分なキャッシュ・アクセスの原因になりません。
プラットフォーム: すべて
MySQLデータベースを使用していて、OpenJPAが実行時にマッピング・ツールを自動的に実行するように構成され、デフォルト・スキーマに次のような表を作成する場合:
<property name='openjpa.jdbc.SynchronizeMappings' value='buildSchema'/>
<property name='openjpa.jdbc.Schema' value='MySQL database name' />
OpenJPAは、表がデータベースにすでに存在する場合でも表を作成しようとします。表がすでに存在することを示すPersistenceException例外がスローされて、表作成文が失敗します。
回避策
この問題を回避するには、MySQLデータベースを使用する場合、実行時にマッピング・ツールを自動的に実行するようにOpenJPAを構成しないでください。また、デフォルト・スキーマを指定してください。
プラットフォーム: すべて
エンティティが(Externalizableではなく)Serializableであり、writeObject()
メソッドを宣言していない場合、IIOPを使用し、JPAエンティティをサーバーからクライアントに送信するEJBアプリケーションで、シリアライゼーション中にエラーが発生します。
回避策
そのようなエンティティ・クラスにはwriteObject()
メソッドを追加してください。書込みオブジェクトは次のようになります。
private void writeObject(java.io.ObjectOutputStream out) throws IOException { out.defaultWriteObject(); }
プラットフォーム: すべて
外部トピック(非WebLogic) JMSを指定する非トランザクション・トピック・メッセージドリブンBean (MDB)にマルチスレッド処理を使用している場合、MDBコンテナは再現可能な動作を提供できないことがあります。たとえば、onmessage()
メソッドでruntimeException
がスローされた場合も、コンテナがメッセージを確認応答することがあります。
回避策
デプロイメント記述子でmax-beans-in-free-pool
属性を1
に設定します。
プラットフォーム: すべて
Enterprise JavaBeans仕様で説明されているように、リモート・ホーム・インタフェースにより、クライアントは、そのリモート・ホーム・インタフェースのハンドルを取得できます。このハンドルは、シリアル化することや、安定したストレージに書き込むことができます。後で、場合によっては異なるJVMでも、このハンドルを安定したストレージからシリアル化解除することや、リモート・ホーム・インタフェースへの参照を取得するために使用することができます。
ただし、WebLogic Server 12.2.1 (およびそれ以降)でホストされるサーブレットで、IIOPプロトコルを使用して、Oracle WebLogic Server 11gでホストされるEJBのリモート・ホーム・インタフェースを検索し、ハンドルをファイルにシリアル化した後、そのファイルからハンドルをシリアル化解除する場合、シリアル化解除がClassNotFoundException
で失敗する可能性があります。
この状況は、WebLogic Server 12.2.1 (およびそれ以降)でホストされるEJBをIIOPを使用して呼び出そうとする、WebLogic Server 11gでホストされるEJBにも当てはまります。
回避策
IIOPのかわりにT3プロトコルを使用します。
プラットフォーム: すべて
WebLogic標準クライアント(wlclient.jar
)を使用するアプリケーションで、IIOPプロトコルを使用して、@Remote
アノテーションで修飾されたEJB 3.x Beanのリモート・ホーム・インタフェースを検索する場合、検索がClassNotFoundException
で失敗する可能性があります。
回避策
次のいずれかを実行できます。
クライアント・クラスパスで、WebLogic標準クライアントwlclient.jar
のかわりにWebLogicインストール・クライアントweblogic.jar
を使用します。
@Remote
アノテーションを使用するかわりにjava.rmi.Remote
インタフェースを拡張することで、EJBのリモート・ホーム・インタフェースを作成します。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
HTTP Publish/Subscribeサーバーはローカル・クライアントの認証と認可をサポートしていません。ローカル・クライアントにはHTTP Publish/Subscribeサーバーのチャネルを操作する完全な権限があります。つまり、ローカル・クライアントは、チャネルの作成と削除、チャネルからのイベントのパブリッシュとサブスクライブを行えます。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべてのUNIX
インストーラでは、インストールの完了前にマシンに十分なディスク領域があるかどうかは確認されません。そのため、領域不足によりインストールを完了できない場合、次のエラー・メッセージが表示され、インストーラが終了します。
Fatal error encountered during file installation. The installer will now cleanup and exit!
回避策
この問題が発生した場合、次のコマンドを使用してインストーラを再起動します。
server103_linux32.bin -log=log.out -log_priority=debug
このコマンドによりインストール手順のログが生成され、正確な失敗の原因が詳細に示されます。領域不足が原因であれば、ログ・ファイルにそれが明示的に示されています。
Oracle WebLogic Server 12.2.1をMac OS X開発システムにインストールする場合、インストールに含まれるOracle JDBC Thinドライバには本番環境向けに推奨される一部のJDBCドライバの修正は含まれていません。
回避策
これらの修正を開発環境に実装する必要のある開発者向けにパッチがMy Oracle Supportから入手可能になる予定です。
ロールアウトの実行時にサーバーを停止する際、サーバーがFAILED状態の場合、次のエラーが表示されることがあります。
Workflow wf0008 failed and the revert process was not initiated. The failure was: Failure performing execute of wf0008-3-1-0 (ShutdownServerResumeOnRevertCommand), caused by Failed to shut down server server1: java.lang.Exception: The process for the server server1 has not completely shut down. This problem should be reported and you may have to kill the process manually.
このエラーは、WLSTまたは管理コンソールを使用する場合に発生します。
回避策
サーバー・ログを注意して確認し、停止の失敗につながるサーバーの障害の原因を特定する必要があります。問題を解決し、サーバーを手動で停止した後、ロールアウトを続行できます。
WebLogic Server 12.2.1.1に含まれるONS (Oracle Notification Services) jarとUCP (Universal Connection Pool) jarの互換性の問題から、一部のデータ・ソースがデータベースFANイベントの受信を停止するため、アクティブなGridLinkデータ・ソース・デプロイメントが影響を受けます。
回避策
WebLogic Server 12.2.1.1に含まれるONS jarにパッチが必要です。My Oracle Supportにアクセスしてパッチを入手します。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
FastSwapによってフィールドとメソッドのアクセス修飾子が緩和される可能性があります。privateとprotectedのメンバーは実行時にpublicになる可能性があります。そのためにリフレクションの動作が変わり、Strutsのようなリフレクションに基づくフレームワークが影響を受ける可能性があります。
プラットフォーム: すべて
FastSwapは、エンティティBeanとejbClass(セッション/MDB)の再定義をサポートしません。したがって、エンティティ・クラスを更新すると、再定義エラーが発生します。
回避策
エンティティ・クラスの更新後に、アプリケーションを再デプロイします。
プラットフォーム: すべて
個別のJARファイルを含むEARファイルがあり、そのJARファイルの2つ以上に同じ名前のクラスがある場合、WebLogic ServerがどのJARファイルからクラスをインスタンス化するかは予測できません。これは、クラスが同じ場合には問題になりませんが、異なる実装がある場合には結果を予想できません。
回避策
現在、この問題に対する既知の回避策はありません。
プラットフォーム: すべて
CDIの使用時にFastSwapはサポートされません。FastSwapを有効にして展開形式でアプリケーションをデプロイすると、デプロイに失敗し、CDIに関連するエラーが発生します。
プラットフォーム: すべて
Java EE 7仕様(https://jcp.org/en/jsr/detail?id=342
)に、空のlibrary-directory
要素を使用してライブラリ・ディレクトリがないことを示すことができると記されています。
以前のリリースのWebLogic Serverでは、application.xml
ファイルに次に示すような空のlibrary-directory
要素があると、EARファイルのルート・ディレクトリ内のライブラリJARファイルがライブラリとしてロードされていました。
<library-directory></library-directory>
WebLogic Server 12c (12.2.1.1)より、この動作は変更され、Java EE 7仕様に準拠するようになりました。現在は、空のlibrary-directory
要素がapplication.xml
ファイルにある場合、アプリケーションのルート、lib
ディレクトリまたは共有ライブラリからライブラリはロードされません。
注意:
アプリケーションで空のディレクトリを作成し、library-directory
要素でそのディレクトリを指し示すと、lib
ディレクトリからライブラリを削除することなく共有ライブラリからライブラリをロードできます(lib
ディレクトリからはできません)。
既存のアプリケーションをWebLogic Server 12.2.1.1に移行する場合、Java EE 6(またはそれ以前のJava EEのバージョン)を使用して開発されたアプリケーションのデプロイメントのパフォーマンスが、Java EE 7によって必要とされるデフォルトCDIスキャニングの変更によって悪影響を受ける可能性があります。
回避策
以前のバージョンのJava EEで開発されたアプリケーションのデプロイメントのパフォーマンスを向上させるには、次の方法でimplicit-bean-discovery-enabled
をfalse
に設定し、Java EE 7での暗黙的CDIスキャニングを無効にします。
WebLogic Server管理コンソールの使用。ドメインの一般構成ページに移動し、拡張設定セクションで「暗黙的Bean検出の有効化」を選択解除します。
WLSTオンラインまたはオフラインの使用。
WLSTオンラインを使用してこの設定を変更するには、次のコマンドを入力します。
connect('user','password','url') domainConfig() edit() cd('CdiContainer/mydomain') startEdit() set('ImplicitBeanDiscoveryEnabled',0) // 1 to enable 0 to disable validate() save() activate(block="true")
WLSTオフラインを使用してこの設定を変更するには、次のコマンドを入力します。
readDomain(domain) create('mydomain','CdiContainer') cd('CdiContainer/mydomain') set('ImplicitBeanDiscoveryEnabled',0) // 1 to enable 0 to disable updateDomain() closeDomain()
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
Oracle WebLogic Server 12.1.2は、サーバー・アプリケーションの実行のためにJDK 7を、およびWebLogic Server 12.1.2サーバーに接続するWebLogic Server 12.1.2クライアントのためにJDK 6およびJDK 7をサポートしています。Oracle JRockitは、WebLogic Server 12.1.2以降のサーバー・アプリケーションの実行ではサポートされていません。詳細は、『Oracle WebLogic Server 12.2.1.2.0の新機能』のサポート対象の構成に関する項を参照してください。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
この問題は、JMS接続ファクトリへのリソース参照を含むEJBまたはサーブレットを使用する場合に発生することがあります。つまり、@ResourceアノテーションまたはアプリケーションのXMLディスクリプタに定義されたリソースのコンテキスト・ルックアップを使用して接続ファクトリを取得する場合、およびこのリソース参照がディスクリプタ・ファイルでlookup属性、mappedName属性またはjndi-nameを介して明示的にJNDI名を指定していない場合です。
WebLogic Server 12.2.1以上のリリースでは、Java EE 7 Platform仕様の変更によって、そのようなリソース参照がリソース名と一致するJNDI名の接続ファクトリをJNDIから返すか、javax.naming.NameNotFoundException
を返すのではなく、プラットォームのデフォルト接続ファクトリを予期せず返す可能性があります。マップされていない接続ファクトリ・リソースのこの動作の変更によって起こる可能性のある現象の一部を次に示します。
アプリケーションはカスタム接続ファクトリを必要としていた可能性があるが、デフォルト接続ファクトリが付与されたことを示すINFOレベルのログ・メッセージ。次に例を示します。
BEA-169827> <The resource reference "jms/my_cf" of type JMS Connection Factory in application "my_module" does not specify a JNDI name. As of Java EE 7 and WebLogic version 12.2.1.1, such references return a "java:comp/DefaultJMSConnectionFactory" by default when no Connection Factory with a JNDI name that matches the resource name is found.>
アプリケーションが、デフォルトのメッセージの有効期限など、カスタム構成されているWL JMS接続ファクトリからの想定されているカスタマイズされた動作の実施を停止します。
Illegal Destination type
などのエラー。これは、AQ JMS宛先をWebLogic JMS接続ファクトリと組み合せて使用しようとすると発生することがあります。
Destination not found
やDispatcher not found
などの例外。
意図された接続ファクトリと同じクラスタ内でホストされるJMSサーバーではなく、ローカルJMSサーバーに一時宛先が作成されます。
回避策
アプリケーションが予期したとおりに動作するようにするには、次のいずれかの回避策をとることをお薦めします。
WebLogic ServerのJMSConnectionFactoryUnmappedResRefMode
構成可能属性をFailSafeモードに設定し、古い動作を強制的に行うようシステムを明示的に構成します。この設定は、Java EE 7ではFailSafeモードにデフォルト設定できないと規定されていますが、Java EE 7仕様に準拠していることに注意してください。詳細は、『Oracle WebLogic Server JMSリソースの管理』の接続ファクトリのマップされないリソース参照モードの指定に関する項を参照してください。
すべてのサーブレットおよびEJBアプリケーション内のすべてのマップされていないリソース参照を確認し、目的の接続ファクトリを明示的に指定するよう修整します。目的の接続ファクトリがJava EE 7デフォルト接続ファクトリの場合、java:comp/DefaultJMSConnectionFactory
をJNDI名として指定できます。
プラットフォーム: すべて
記述子の検証が有効になっていると、デプロイメント記述子の検証に失敗し、EARファイルにJMSモジュールのみが格納されます。
回避策
Java EE仕様に準拠したモジュールがEARに少なくとも1つ存在することを確認します。
プラットフォーム: すべて
複数のJMSプロデューサが単一のJVM内で同じJMSクライアントSAFインスタンスを使用している場合、JMS SAFクライアントが作成されるタイミングによっては、次の例外がスローされることがあります。
Error getting GXA resource [Root exception is weblogic.jms.common.JMSException: weblogic.messaging.kernel.KernelException: Error getting GXA resource]
回避策
複数のJMS SAFクライアント・プロデューサを使用する場合は、各クライアントの新規作成のタイミングを少しずらすようにしてください。
プラットフォーム: すべて
WebLogicストアのファイルおよびディレクトリの名前には、マルチ・バイト文字を使用することはできません。たとえば、WebLogic Server名にマルチ・バイト文字を使用すると、デフォルト・ストアを作成できず、WebLogic Serverを起動できません。
回避策
パス名にマルチ・バイト文字を使用せずにWebLogic Serverインスタンスを作成し、デフォルト・ストア構成にそのパス名を使用します。WebLogic Server名にマルチ・バイト文字を使用しないようにしてください。
プラットフォーム: すべて
NFS搭載のディレクトリにJMSメッセージとトランザクション・ログが格納されている場合、マシンが不意に障害したら、サーバーの再起動の動作を検証することをお薦めします。NFS実装に応じて、フェイルオーバー/再起動後、様々な問題が発生する可能性があります。詳細は、6.3項「NFSでファイル・ストアを使用している場合にWebLogic Serverのテストが突然失敗する」を参照してください。
プラットフォーム: すべて
WebLogic Server 12.1.2以降は、構成ウィザードでのJMSサーバーおよびWebLogicストア・ターゲット指定は変更されています。
12.1.2では、構成ウィザードは、これらのオブジェクトがドメイン・テンプレート内の管理対象サーバーまたはクラスタを明示的に対象にしない場合に、移行可能なターゲットへのJMSサーバーおよびWebLogicストアを自動的に対象とします。移行可能なターゲットの使用は、JMSシステムのための高可用性を可能にするベスト・プラクティスです。
カスタム・ドメイン・テンプレートを使用してWebLogic Server 12.1.2でドメインを作成し、そのテンプレートに、管理対象サーバーまたはクラスタを明示的に対象としないJMSサーバーおよびWebLogicストアが含まれる場合、ターゲット指定の結果は、前のリリースとは異なります。
動作のこの変更により、generate-unique-client-id
拡張を可能にするメッセージドリブンbean (MDB)のための永続トピック・サブスクリプションへの変更も生じます。WebLogic Serverは、MDBなどのための永続トピック・サブスクリプションを作成する際に、移行可能ターゲット名を含めるようサブスクリプション名を変更します。元のサブスクリプション名の下に格納されるメッセージは、MDBには配信されません。また、元のサブスクリプションは、新しいメッセージの累積を継続します。
アップグレードの計画時は、次の重要な変化に注意してください。
『Oracle WebLogic Serverのアップグレード』の指示に従い、再構成ウィザードを使用して12.1.2より前の既存のドメインを再構成する場合、構成および永続トピック・サブスクリプションは変更されないままとなります。
前述のようにカスタム・テンプレートを使用してドメインを再生成する場合、結果となる構成は前のリリースとは異なり、システムの起動時に新しい永続トピック・サブスクリプションが作成されます。ただし、古い永続トピック・サブスクリプションは残ります。それらのサブスクリプションには、メッセージの累積を継続し、サーバー・メモリーを枯渇させる、未処理のメッセージが含まれます。
回避策
次のいずれかの推奨回避策を選択してください。
再構成ウィザードを使用して、適切な位置にドメインをアップグレードします。
ドメイン構成をアップグレードまたは再生成する前に、メッセージを排出します。アップグレードしたら、WebLogic Server管理コンソールを使用して、古いJMSサブスクリプションを検索して削除します。
JMSファイル・ストア・ファイルまたはJMS JDBCストア表を削除します。ファイルまたは表に保持されているすべてのメッセージが削除されます。
プラットフォーム: すべて
12.1.3より前のWebLogic Serverで開発されたJMS .NETクライアントをWebLogic Server 12.1.3と相互運用できるようにするには、WebLogic Server 12.1.3インスタンスで次のシステム・プロパティを設定します。
-Dweblogic.protocol.t3.login.replyWithRel10Content=true
12.1.3より前のWebLogic Serverで開発された既存のJMS .NETクライアントとの相互運用性のデフォルト値はfalse
です。
プラットフォーム: すべて
JMS分散宛先を含むドメインから生成された拡張テンプレートを使用してドメインを拡張した後、分散宛先がドメインに存在しなくなります。これは次の分散宛先に影響を与えます。
distributed-queue
distributed-topic
uniform-distributed-queue
uniform-distributed-topic
これらの要素のいずれかがソース・テンプレートにあるJMS XMLファイルに含まれている場合、これらは処理されず、宛先ドメインでは構成されません。
回避策
これを解決するには、WLSTコマンドの次のシーケンスを対話的にまたはスクリプトで使用します。
readDomain('domain_path
') addTemplate('extension_template_file
') unassign('JmsSystemResource','resource_name
','Target','destination_name
') For example: unassign('JmsSystemResource','JMSModule','Target','C1') assign('JmsSystemResource','resource_name
','Target','destination_name
') For example: assign('JmsSystemResource','testModule','Target','Server-1') unassign('JmsSystemResource','resource_name
','Target','destination_name
') For example: unassign('JmsSystemResource','testModule','Target','Server-1') assign('JmsSystemResource','resource_name
','Target','destination_name
')For example: assign('JmsSystemResource','testModule','Target','C1') updateDomain() closeDomain()
この項では、次の問題と回避策について説明します。
データ・ソースのトランザクション・プロトコルが変更された場合、トランザクションの結果が矛盾しないようすべてのターゲット・サーバーを再起動する必要があります。
問題
<Warning> <JTA> <BEA-111020> <An issue occurred during cross-site recovery processing: PeerSiteRecoveryLeaseMaintenance: Unable to create either connection or prepared statements for cross-site recovery..>
回避策
ドメイン・ロギング・フィルタを使用することで、この問題を回避できます。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
Sun Microsystems VMの既知のバグ(513552)により、1.4シン・クライアント・アプレットはWebLogic Server 9.0以降と通信できません。これは、クライアントとサーバーの接続間でVMが正しく区別されないことが原因です。VMは、サーバー・タイプ接続を作成し、それをキャッシュします。次に、クライアント・タイプ接続の確立を試行し、キャッシュされた接続を探してそれを使用しようとしますが、クライアントはサーバー接続の使用を許可されないため、エラーが発生します。
プラットフォーム: RedHat Linux
RedHat (RH) Linux上で実行され、直接的または間接的にシステム時間の呼出しを使用するアプリケーションにおいて、ClockSource
がtsc
(デフォルト)に設定されている場合に、時間の問題が断続的に発生する可能性があります。標準のPOSIX C gettimeofday()
を呼び出した結果、Java System.currentTimeMillis()
とjava.util.Date()
も呼び出されると、シングル・スレッド・アプリケーションの場合でも、将来に約4400秒の値が断続的に返される可能性があります。
この問題はWebLogicやJavaに固有の問題ではなく、RH Linux上で実行されるどのアプリケーションにも当てはまります。この問題が発生するのは、標準Java、または時間ベースのアプリケーション・サーバー・サービスを使用して、時間の呼出しを明示的に行うアプリケーションです。
考えられる症状としては、トランザクションの早過ぎるタイムアウト、JMSメッセージの予期しない期限切れ、タイマーの不適切なスケジューリングなどが挙げられますが、これだけに限りません。
この問題はRedHat 5.3で修正されました。
プラットフォーム: Linux
無制限のフォワード・ローリングの一部として長い配列のコピーを実行しているときに、JRockit JVMがフリーズしたように見えます。この状況は、Out Of Memory
条件により複数のサーバーが再起動した場合に発生することがあります。
回避策
サーバーの起動時に、次のJRockit JVMフラグを指定します。
-XXrollforwardretrylimit:-1
プラットフォーム: Linux
シリアル・バージョンUIDの不一致の問題は、最新のJVMにアプリケーションをデプロイし、以前のサービス・リリースのIBM Java 6 JDKでコンパイルした場合に発生します。
回避策
以前にコンパイルしたアプリケーションのシリアライゼーションと互換にするには、WL_HOME
/common/bin/commEnv.sh
ファイルを変更して、次のコマンドを含めます。
JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0"
または、次のコマンド行オプションを使用できます。
export IBM_JAVA_OPTIONS= "-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0"
以前にコンパイルしたアプリケーションとともに新しいアプリケーションをデプロイする場合は、必要に応じて再コンパイルし、同じシリアル・バージョンUIDを持つようにする必要があります。
プラットフォーム: Linux
WebLogic Serverの実行中に、JVMスタックのオーバーフロー・エラーまたは例外が発生することがあります。この問題は、AMD64および64ビットXeonプラットフォーム上のOracle Enterprise Linux 4、5、5.1で発生します。
回避策
スタック・サイズをデフォルトの128kから256kに増やします。
この項では、次の問題と回避策について説明します。
ある環境でライフサイクル・マネージャを使用するよう構成されたドメインをpack
コマンドを使用してパックし、別の環境でアンパックした場合、<Domain>/config/lifecycle-config.xml
ファイルに含まれているプラグインのパスがソース環境のOracleホーム・ディレクトリのパスを参照したままになることがあります。
回避策
lifecycle-config.xml
ファイル内のファイル・パスを修正して、ターゲット環境のOracleホーム・ディレクトリ・パスを反映します。
Weblogic Server、Oracle Traffic Director (OTD)およびライフサイクル・マネージャを含む統合環境で、ライフサイクル・マネージャのアウト・オブ・バンド機能が有効な場合、想定では、ドメイン・パーティションの対象とされる変更を含むリソース・グループ内の変更は、ライフサイクル・マネージャを使用してOTDに送信されるはずです。しかし、12.2.1よりこの動作は変更され、リソース・グループの追加または削除を含むリソース・グループに対する更新はOTDに送信されません。
回避策
対象の構成の変更後ドメイン・パーティションを再起動する必要があります。これによって、リソース・グループで最新の構成の変更によってOTDが更新されます。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
@unharvestable
タグはインタフェース・レベルで適用されません。MBean属性が明示的に@unharvestable
とマークされていない場合は収集可能と見なされ、WebLogic Server管理コンソールにも収集可能と表示されます。
回避策
MBean属性を明示的に@unharvestable
とマークできます。
プラットフォーム: すべて
カスタムMBean ObjectNameパターンと一致する、監視ルール式のための変数でワイルドカード・パターンを指定する場合は、パターンが十分に明示的であることを確認してください。MBeanタイプ名を除外して、曖昧なインスタンス・パターンを使用する場合は、次のことが起こる可能性があります。
WebLogic Server実行時MBeanインスタンスのみがパターンに一致します。
必要なカスタムMBeanインスタンスが無視されます。
たとえば、次のObjectNameパターンは、タイプを明示的に宣言せず、WebLogic Server実行時MBeanインスタンスと一致する可能性がある曖昧なObjectNameパターンを使用します。
${ServerRuntime//com.b*:Type=Server*,*}
回避策
混乱を避けるため、十分に明示的なObjectNameパターンを使用するか、変数式でMBeanタイプを宣言します。
プラットフォーム: すべて
この問題は、WLDFでハーベスタ・レコードやウォッチ・ルール通知に対するモジュール名の使用方法が変更されたことに関連します。内部ディスクリプタ名はオーバーライドされ、外部WLDFディスクリプタがランタイム・コントロールAPIまたはWLSTの機能を通じて登録されるときに付けられる名前を使用するようになりました。これは、外部WLDFシステム・リソースをデプロイしてハーベスタ・メトリックを収集したり、デプロイ済のモジュールに基づいてウォッチ・ルール通知をリスニングしたりする際に、ランタイム・コントロール機能を使用している場合に発生します。
たとえば、デプロイ済のディスクリプタのハーベスタ要素とウォッチ要素が次のような場合、
<harvester> <name>MyExternalResource</name> ... <watch-notification> <name>MyExternalResource></name> ...
このディスクリプタをランタイム・コントロールでcreateSystemControl("resource1", ...)
のように登録すると、これまでは、このリソースのアーカイブに含まれるハーベスタ・レコードのWLDFMODULE
列値にMyExternalResource
が使用され、ハーベスタ・データが登録されていました。また、これはウォッチ通知ペイロードのモジュール名にも使用されていました。今後は、ハーベスタ・レコードおよびウォッチと通知のペイロードのWLDFMODULE
名にresource1
が使用されるようになります。
回避策
WLSTコマンドcreateSystemResourceControl()
を使用する際に、外部WLDFリソースを登録した名前を使用します。また、外部リソースからのウォッチ通知に使用する通知リスナーが通知ペイロードのWLDFモジュール名に依存している場合は、コントロールを登録したときの名前で検索する必要があります。
たとえば、コントロールをcreateSystemResourceControl("resource1", ...)
のように登録した場合は、このリソースのWLDF Accessor問合せの問合せ文字列にWLDFMODULE='resource1'
というモジュール名を含める必要があります。
プラットフォーム: すべて
Oracle EBRのエディション・スキーマを使用するようにサーバーのWLDFアーカイブをドメインで構成し、アップグレード・アシスタントを使用してそのスキーマをアップグレードしようとすると、アップグレードの実行中にそのスキーマを実行しているサーバーでエラーが発生する可能性があります。
該当する条件は次のとおりです。
12.1.2のリポジトリ作成ユーティリティ(RCU)を使用してOracle EBRデータベースにインストールされたWLDFスキーマまたは以前のバージョンのWebLogic Serverの手動で作成されたWLDFスキーマがある場合
アップグレード・アシスタントを使用する際に、既存のスキーマをアップグレードしてOracle EBRのエディション表を使用するように選択した場合
アップグレードの実行中に、稼動中のサーバーがある場合(スキーマを複数のWebLogic Serverドメインで共有している場合など)
アップグレード時に、WLDFの表は名前変更され、名前変更されたインスタンスを指すようにエディションベースのビューが作成されます。この操作で失われるデータはありません。ただしこの場合、ごく短い時間ではありますが、エラーが起り得る時間があります。それは、アップグレードの実行中に稼動中のサーバーでWLDFのハーベスタ・データやインストゥルメンテーション・データが記録されるときです。
そのようなエラーは、重大なエラーではなく、サーバーのパフォーマンスに影響するものではありませんが、該当するサーバーで少量の監視データが失われる可能性があります。
回避策
このようなエラーの可能性を回避するには、Oracle Databaseのアップグレード・プロセスの間、該当するWebLogic Serverドメインを停止しておきます。
この項では、ノード・マネージャに関する次の問題と回避策について説明します。
プラットフォーム: Linux
一部の特定のLinuxプラットフォームおよびバージョンでは、仮想インタフェース/エイリアスを動的に削除する問題があります。インタフェースのプライマリ・アドレスである仮想インタフェースの削除は、同時に他のセカンダリ仮想IPアドレスの削除をもたらす可能性があります。これは、サーバーの移行時にノード・マネージャでのランダムな例外を引き起こす可能性があります。この問題が発生した場合は、移行後にサーバーを停止する際に、ノード・マネージャのログ・ファイルで例外が検出されることがあります。たとえば、次のようなエラーを受け取る場合があります。
java.io.IOException: コマンド '/<PATH to DOMAIN>/bin/server_migration/wlsifconfig.sh -removeif -IPv4 eth0 X.X.X.Xが失敗出口コード'1'を返しました
。
ここに問題の例を示します。
最初に、3つの仮想インタフェースを追加します(最初の1つがプライマリになります)。
$ sudo /sbin/ifconfig eth0:4 X.X.X.178 netmask 255.255.248.0 $ sudo /sbin/ifconfig eth0:5 X.X.X.179 netmask 255.255.248.0 $ sudo /sbin/ifconfig eth0:6 X.X.X.180 netmask 255.255.248.0 $ sudo /sbin/ifconfig eth0:4 down
プライマリ(リスト内の最初の1つ)を削除すると、他の2つは、同時に自動的に削除されます。
回避策
この問題を一時的に修正するには、次のコマンドを使用して、ネットワーク・インタフェース上でpromote_secondaries
フラグを有効にします。eth0
を実際のインタフェース名に置き換えます。
$ sudo /sbin/sysctl net.ipv4.conf.eth0.promote_secondaries=1
また、次のコマンドを使用して、すべてのインタフェースのデフォルト設定を更新することもできます。
$ sudo /sbin/sysctl net.ipv4.conf.all.promote_secondaries=1
これが有効になっており、インタフェースのプライマリ・アドレスが削除される場合は、セカンダリ・インタフェースが、プライマリ・インタフェースになるようアップグレードされます。デフォルトでは、プライマリ・インタフェースの削除時にはすべてのセカンダリ・インタフェースがパージされます。
サーバーの再起動後にこの問題を永久的に処置するには、sysctl.conf
ファイルを更新します。次に例を示します。
$ echo "net.ipv4.conf.eth0.promote_secondaries=1" >> /etc/sysctl.conf
プラットフォーム: HPUX IA64
起動スクリプトを使用してサーバーを起動するノード・マネージャとJavaコマンドを使用してサーバーを起動するノード・マネージャの間には基本的な違いがあります。起動スクリプトを使用する場合は、プラットフォームを検出する一部のスクリプト言語に基づいて-d64フラグが追加されます。Javaコマンドを使用してサーバーを起動する場合、ノード・マネージャはこのフラグを追加しません。
回避策
ノード・マネージャを使用してJavaコマンドを介してサーバーを起動する場合は、ServerStart
引数フィールドで-d64などの引数を指定します。
プラットフォーム: すべて
まれなケースでは、WebLogic Serverによって管理されるOracle HTTP Server (OHS)インスタンスが、状態UNKNOWN
で開始される場合があります。これは、管理サーバーがOHSインスタンスの状態を初期化できない場合に起こる可能性があります。たとえば、OHSインスタンスの作成時にノード・マネージャが実行されていない場合や、ノード・マネージャに直接接続しており、最初に状態を確認する際に管理サーバーをバイパスする場合などです。
回避策
管理サーバーの使用を続行します。OHSインスタンスの状態が正しく初期化される必要があります。
プラットフォーム: MS Windows
installNodeMgrSvc.cmd
を使用してノード・マネージャを起動する際に必要なOPSSのテンプレート情報が欠落しています。そのため、JRF/OPSS環境でinstallNodeMgrSvc.cmd
を正しく使用できません。ノード・マネージャは、KSSをロードするための正しいクラスが指定された情報を使用せずに起動し、デフォルト・キーストアとしてJKSを使用します。この問題は、環境を設定して最初にstartNodeManager.cmd
(KSSをロードします)を実行するときに発生します。
回避策
installNodeMgrSvc.cmd
コマンドを使用する前に、startNodeManager.cmd
からセクションをコピーして編集します。次に例を示します。
set JAVA_OPTIONS=%JAVA_OPTIONS% -Doracle.security.jps.config=C:\OracleHome11g\user_projects\domains\mydomain\config\fmwconfig\jps-config-jse.xml -Dcommon.components.home=C:\OracleHome1213\Oracle_Home\oracle_common -Dopss.version=12.1.3 if NOT "%POST_CLASSPATH%"=="" (set POST_CLASSPATH=C:\OracleHome1213\Oracle_Home\oracle_common\modules\oracle.jps_12.1.3\jps-manifest.jar;%POST_CLASSPATH%) else (set POST_CLASSPATH=C:\OracleHome1213\Oracle_Home\oracle_common\modules\oracle.jps_12.1.3\jps-manifest.jar)
プラットフォーム: すべて
WLSTオフライン、およびpack
およびunpack
コマンドは、WebLogicサーバー12.1.3で導入された次の新しいノード・マネージャの置換プロパティの設定をサポートしていません。
非推奨になったプロパティ | 置換プロパティ |
---|---|
|
|
|
|
|
|
|
|
|
WebLogic Serverプロセスの場合は |
|
|
|
|
|
|
|
|
|
|
回避策
WLSTオフライン、またはpack
およびunpack
コマンドを使用してノード・マネージャのプロパティを構成した場合、前述の非推奨のプロパティを使用し続ける必要があります。これらは、WebLogicサーバーでまだ完全にサポートされています。詳細は、『Oracle WebLogic Serverノード・マネージャの管理』のノード・マネージャのプロパティに関する項を参照してください。
この項では、様々なWebLogic Serverプラグインの次の問題について説明します。
プラットフォーム: すべて
次の状況では、IISプラグインが動作しないことがあり、apr_socket_connection
エラーが発生します。
IISとWebLogic Serverの両方のインスタンスが同じマシンにある場合。
マシンでIPv6が有効になっていて、マシンがIPv6環境にない場合(つまり、IPv6インタフェースが有効になっているが動作していない場合)。
WebLogic Serverインスタンスのリスニング・アドレスが単純なホスト名に設定されている場合。
ディレクティブWebLogicHostまたはWebLogicClusterがIISインスタンスに対して単純なホスト名に設定されている場合。
プラットフォーム: すべて
イントロスペクションは失敗し、ユーザーは、書込みできないドメインを調査しようとしているときにエラーを受け取ります。
回避策
調査を実行するユーザーを許可するよう、ドメイン・ルート・ディレクトリの権限を変更します。
プラットフォーム: すべて
Oracle Virtual Assembly Builder (OVAB) Studioでは、HTTPプロキシ処理は無効化されています。システム・プロパティを使用してHTTPプロキシ検出を有効にできます。
このシステム・プロパティは、Studioの起動を実行するごとに設定することも、abstudio.sh
ファイルを変更して永続的に設定することもできます。
OVAB Studioの実行1回ごとにこのプロパティを設定するには、次の手順を実行します。
OVAB Studioを停止します。
構成ディレクトリを削除します。
$AB_INSTANCE/state/gui/$USER/system.12.1.2.0.0
(または相当するもの)
プロパティになんらかの値(たとえば1)を設定してGUIを再起動します。
./abstudio.sh -J-Dovab.studio.enableHttpProxy=1
その後GUIを起動するごとにこのプロパティを定義する必要があり、そうしなければabstudio.sh
のプロパティ設定によって、プロキシ処理はfalseに戻されます。
HTTPプロキシ処理が常に有効になるようにプロパティを設定するには、次の手順を実行します。
enableHTTPProxy=1
を設定した後で、標準Javaプロパティhttp.proxyHost
、http.proxyPort
およびhttp.nonProxyHosts
を使用して、プロキシ・ホスト、ポートおよび例外を設定できます。Linuxで非標準のデスクトップ環境を使用している場合は、valuehost:port
でhttp_proxy
プロパティの設定が必要な場合があります。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
Antバージョン1.7 rmic
タスクを呼び出すと、-vcompat flag
が自動的に追加されますが、これはOracle WebLogic Serverのrmic
と互換性がありません。
回避策
rmic呼出しが次の形式の場合は、次のいずれかの回避策を使用します。
rmic classname="com.bea.crmsimulation.legacyra.LegacyAdapter" base="${module_location}/core-legacy-ra/classes" classpath="${core.classes}" compiler="weblogic" />
stubversion
を追加します
<rmic classname="com.bea.crmsimulation.legacyra.LegacyAdapter" base="${module_location}/core-legacy-ra/classes" classpath="${core.classes}" compiler="weblogic" stubversion="1.2"/>
compiler
フラグを削除します
<rmic classname="com.bea.crmsimulation.legacyra.LegacyAdapter" base="${module_location}/core-legacy-ra/classes" classpath="${core.classes}"
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
JDKバージョンがJRockit 1.60_24、1.60_28または1.60_29の場合、サービス側Kerberos認証はHTTP/1.1 Error 401 Unauthorized
で失敗します。
回避策
次のいずれかの回避策を使用します。
ktab.exe
を使用してキータブ・ファイルを生成するかわりに、kadmin
などの別のツールを使用して生成します。
ktab.exe
を使用して適切なkvnoを手動で指定します。
プラットフォーム: すべて
WebLogic ServerがJSSEベースのSSLプロバイダを使用するように構成されている場合、SSL接続を作成しようとすると、BAD_MAC_ERROR
メッセージで失敗することがあります。
回避策
JDK 7u2以上をインストールし、WebLogic Serverを再起動します。
プラットフォーム: すべて
-Dweblogic.system.StoreBootIdentity
オプションは、適切なサーバー・セキュリティ・ディレクトリが存在する場合にのみ機能します。このディレクトリは通常、構成ウィザードまたはアップグレード・ツールによって作成されます。
ただし、ソース・コントロール・システムにチェック・インしているドメインでは、この適切なサーバー・セキュリティ・ディレクトリがない場合があります。
プラットフォーム: すべて
WebLogic Server提供のDB2ドライバを使用してDB2データベース用のRDBMSセキュリティ・データ・ストアが構成されている場合、WebLogic ServerインスタンスでSecurityServiceException
により起動時エラーが発生することがあります。
回避策
RDBMSセキュリティ・データ・ストアでDB2データベース用にAlternateId
接続プロパティを使用している場合は、WebLogic Server提供のDB2ドライバを使用するときに、追加のプロパティBatchPerformanceWorkaround
をtrue
に設定する必要もあります。
プラットフォーム: すべて
ドメインをWLS 6.1からアップグレードした後で、認証エラーが原因でWebLogic Serverインスタンスが起動しません。
回避策
WebLogic Serverインスタンスを適切に起動するには、アップグレード・プロセスの前か後に、WLS 6.1ドメインでシステム・ユーザー・パスワードを設定する必要があります。
プラットフォーム: すべて
SAML 2.0のIDプロバイダまたはサービス・プロバイダを構成した後で、SAML 2.0サービス・メタデータ・ファイルを公開しようとすると、InvalidParameterException
メッセージが生成されてWebLogic Server管理コンソールに表示される可能性があります。
回避策
WebLogic ServerインスタンスでSAML 2.0フェデレーション・サービスを構成する場合は、構成するSAMLロールで使用可能なすべてのバインディング・タイプを有効にしてください。たとえば、SAML 2.0 IDプロバイダ・サービスを構成する場合は、POST、リダイレクト、およびアーティファクト・バインディングを有効にする必要があります。SAML 2.0サービス・プロバイダ・サービスを構成する場合は、POSTおよびアーティファクト・バインディングを有効にする必要があります。また、優先バインディングを選択することもできます。
プラットフォーム: すべて
SAML 2.0サービス・プロバイダ・サービスを構成する場合、強制認証とパッシブ属性の両方を有効にすると、WebLogic Serverが検出できない無効な構成となります。これらの属性がどちらも有効な場合に非認証ユーザーがサービス・プロバイダ・サイトでホストされるリソースにアクセスしようとすると、例外が生成され、シングル・サインオン・セッションが失敗します。
WebLogic ServerではSAMLログアウトがサポートされないため、「強制認証」属性の効果がない点に注意してください。ユーザーがIDプロバイダ・サイトですでに認証され、「強制認証」が有効な場合でも、そのユーザーは、IDプロバイダ・サイトで再認証が強制されることはありません。
これらの両方の属性を有効にすることは避けてください。
プラットフォーム: すべて
fork=true
属性が設定されていないAntスクリプトから起動した<java>
タスクを使用するなど、WebLogicフル・クライアントが非フォーク対象VMで実行されている場合、次のエラーが発生する可能性があります。
java.lang.SecurityException: The provider self-integrity check failed.
このエラーは、RSA Crypto-Jライブラリの読込み時に自動的に実行される自己整合性チェックによって発生します。(Crypto-Jライブラリとcryptoj.jar
は、wlfullclient.jar
マニフェスト・クラスパスにあります。)
この自己整合性チェック・エラーは、次に示す状況のような、クライアントが非フォーク対象VMで起動され、Crypto-J APIを直接または間接的に使用する場合に発生します。
クライアントがCrypto-Jライブラリを直接起動します。
クライアントが、基盤となるクライアントSSL実装をトリガーしてCrypto-J APIを起動するT3S接続を試行する場合。
自己整合性チェックが失敗した場合、Crypto-J APIの以降の呼び出しが失敗します。
回避策
Antスクリプトから呼び出された<java>
タスクでフル・クライアントを実行している場合は、fork
属性を常にtrue
に設定します。
自己整合性チェックの詳細は、次のURLにある『Java(tm) Cryptography Architectureでのプロバイダの実装方法』のプロバイダによる自己整合性チェックの実行方法に関する項を参照してください:
プラットフォーム: Linux
予測不能な乱数を生成するために、SSLセキュリティ・コードはマシンの「エントロピ」に依存します。エントロピは、マウスの移動、ディスクIO、ネットワーク・トラフィックなどのアクティビティです。エントロピが最小であるか存在しない場合、乱数ジェネレータは低速になり、セキュリティ操作がタイムアウトになることがあります。これにより、セキュアな管理者チャネルを使用したドメインでの管理対象サーバーの起動などのアクティビティが混乱することがあります。この問題は、一般に起動後の一定期間に発生します。JVMで十分なエントロピが実現された後は、乱数ジェネレータがマシンの存続期間を通して十分に動作します。
詳細は、次の場所でSunバグ6202721および6521844を参照してください。
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6202721
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6521844
回避策
サイトがセキュリティの低下を許容できる場合はエントロピの低いシステムで非ブロック乱数ジェネレータを使用できます。そのためには、Javaプロセスを起動するコマンドに-Djava.security.egd=file:///dev/urandom
スイッチまたはfile://dev/./urandom
を追加します。この回避策は、純粋な乱数ではなく擬似乱数を使用するため、本番環境では使用しないでください。
プラットフォーム: すべて
BEA-090402
は、サーバー・インスタンスがboot.properties
ファイルの問題で起動に失敗した場合に対処法を示すカタログ・メッセージです。
しかし、問題の本質は認証の問題にあります。BEA-090402
は、最も可能性の高い根本原因のみを示します。顧客がboot.properties
ファイルやブート用のユーザー・パスワードを変更したために認証に失敗するケースがこれに該当します。
このエラーは、ごくまれに別の原因でも発生します。たとえば、LDAPの破損やディスクの故障が発生した場合や、管理対象サーバーが管理サーバーへの接続に失敗し、期限切れのローカルLDAPの認証にフォールバックする場合などです。これらの原因はBEA-090402
では触れられていません。資格証明に問題のないことが明らかな場合は、これらの頻度の低い原因のいずれかをBEA-090402
が示している可能性があります。
WebLogic Server LDAP認証プロバイダのログ・メッセージに、getConnection
メソッドで返されたLDAP接続のURLが表示されますが、そのURLは正しくありません。WebLogic Serverプロバイダの構成でSSLを指定していない場合でも、getConnection
のメッセージはSSLが使用されていることを示します。
回避策
ログ・ファイルの「Connecting to host」メッセージは、SSLが使用されているかどうかを正しく示します。次に例を示します。
<Connecting to host=somehost, port=3060>
<Connecting to host=somehost, ssl port=3060>
ODI管理対象サーバーの起動時に、その管理対象サーバーの起動に使用したアイデンティティがWebLogic Sever管理者ロールに正しくマップされず、セキュリティ・エラーが発生します。管理対象サーバーの起動時にこの警告が発生すると、管理対象サーバーの組込みLDAPファイルによって管理サーバーのポリシーの再同期化が行われます。
回避策
管理対象サーバーのフォルダ<domain>/…/data/ldap/ldapfiles
にある組込みLDAPファイルを削除して、管理対象サーバーを再起動します。
プラットフォーム: すべて
WebブラウザおよびHTTPクライアントを使用したシングル・サインオンに対するSAML 1.1およびSAML 2.0の使用は、パーティションで、または自動レルム再起動の場合サポートされていません。
ただし、Webサービスを使用した場合のSAML 1.1およびSAML 2.0の使用は、これらの機能に対して完全にサポートされています。
プラットフォーム: すべて
WebLogic Serverバージョン12.2.1.1で、互換性レルムを含む互換性セキュリティのサポートは削除されました。互換性セキュリティおよび互換性レルムの詳細は、『Oracle WebLogic Server 12.1.3セキュリティの管理』の互換性セキュリティとはに関する項を参照してください。
6.xレルムはWebLogic Serverバージョン9.0 (2006年11月)で非推奨になりました。レルム・アダプタ・セキュリティ・プロバイダおよび6.xレルム構成要素を使用して構成されたWebLogicドメインは、WebLogic Server 12.2.1.1でサポートされなくなりました。WebLogic Server 12.2.1.1で削除され、サポートされなくなった特定の互換性セキュリティおよび6.xレルム・コンポーネントについては、『Oracle WebLogic Server 12.2.1.2.0の新機能』の削除された機能とコンポーネントに関する項を参照してください。
さらに、WebLogic Server 12.2.1.1クライアントまたはクライアントとして機能するサーバーは、ターゲット・ドメインが互換性レルムを使用して構成されている場合サーバーで起動できなくなりました。そのような起動でClassNotFoundException (RealmAdapterUser)
が発生し、起動が失敗します。
WebLogic Server 12.2.1.1と以前のリリースのサーバーとの相互運用性は、互換性レルムが構成されていない場合サポートされます。『Oracle WebLogic Serverの理解』のプロトコルの互換性に関する項を参照してください。
WebLogic Server 12.2.1.1で、デフォルトの認可およびデフォルトのロール・マッピングが変更されました。ロール・マッピングはアイデンティティ・ドメインを含むよう変更されました。たとえば、WebLogic Sever管理者ロールのデフォルト・ロール・マッピングは、アイデンティティ・ドメインをサポートするためにグループ(管理者)からAdminIDDGroup(管理者)に変更されました。
ドメインのアップグレード後にドメインにパーティションを作成しようとすると、パーティションの作成が失敗します。これは、ドメインが検証され、各セキュリティ・レルムに新しいポリシーおよび述部が含まれているかチェックされるためです。アップグレードしたドメインには12.2.1より前のリリースで作成されたセキュリティ・レルムが含まれており、新しいポリシーは含まれていません。したがって、検証が失敗し、パーティションの作成が失敗します。
回避策
ドメインのアップグレード後、次のタスクを実行する必要があります。
新規セキュリティ・レルムの作成または既存のセキュリティ・レルムの削除の詳細は、管理コンソール・オンライン・ヘルプのセキュリティ・レルムの管理に関する項を参照してください。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
OpenJPA ClassFileTranformer
は、JRockitでWebLogic Serverを実行している場合に動作しません。
回避策
回避策として、OpenJPAエンハンサ・コンパイラを使用して、ビルド時に拡張を適用してください。LoadTimeWeaver
は使用しないでください。
この項では、次の問題について説明します。
プラットフォーム: すべて
再構成ウィザードでlog_priority=ALL
を指定してOracle WebLogic Serverをアップグレードすると、次の例外が発生します。
Internal Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (NM_OPSS.IDX_JPS_RDN_PDN) violated
プラットフォーム: すべて
log_priority=ALL
を指定してreconfig.sh
を起動すると、reconfig.log
に次の例外が出力されます。
[org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 77; cvc-elt.1: Cannot find the declaration of element 'stringSubsInfo'.]
ライフサイクル・マネージャ、RESTful管理サービス、WLS管理コンソール、Fusion Middleware ControlなどのWebLogic Serverソフトウェアの一部の機能は、アップグレードしたドメイン構成には存在しない可能性のあるWebLogic Serverのセキュリティ機能に依存しています。
回避策
ドメインのアップグレード時、次のセキュリティ機能を手動で構成する必要があります。
LCMUser
サービス・アカウントがない場合は作成します。このサービス・アカウントは管理グループに存在する必要があり、セキュアなパスワードが必要です。
weblogic-jwt-token
がない場合、DefaultIdentityAsserter
構成を更新してアクティブなタイプとして含めます。
この項では、次の問題と回避策について説明します。
12.1.2より前のWebLogic Serverバージョンからアプリケーションをアップグレードした後に、WebブラウザでMaxPostSizeExceededException
が報告されます。
回避策
max-save-post-size
session-descriptorを、FORM認証の間にコンテナによって保存またはバッファされるPOSTの最大サイズ(バイト)に設定します。
プラットフォーム: すべて
web.xml
ファイルでsession-timeout
が構成されている場合、WebLogic Server管理コンソールを使用してsession-timeout
に対して行った変更は反映されません。
回避策
デプロイメント・プランを使用して、session-timeout
設定をオーバーライドします。
プラットフォーム: すべて
JDBC永続性セッション中にPoolLimitSQLException
が発生した場合、データベースへの接続が不安定になり、リカバリあり、またはリカバリなしで失敗することがあります。これにより、セッション・データが失われます。古いセッションまたはnullが返されます。
プラットフォーム: すべて
SSLポートを使用してWebページにアクセスしている場合、ページを開けず、次のエラーがレポートされます。
Secure Connection Failed An error occurred during a connection to <hostname>. You have received an invalid certificate. Please contact the server administrator or email correspondent and give them the following information: Your certificate contains the same serial number as another certificate issued by the certificate authority. Please get a new certificate containing a unique serial number.
回避策
Firefoxでは次の回避策を使用できます。
このエラーを受信し、自己署名証明書のあるWebページにアクセスしようとしている場合は、Firefoxで次の手順を実行します。
Internet Explorerまたはその他のWebブラウザを使用している場合は、表示される警告ページを無視し、Webページに進むことができます。
プラットフォーム: MS Windows
JSPXページがデプロイされ、一部のバージョンのInternet Explorerを使用してアクセスされる場合、ページ・コンテンツのかわりにXHTMLソースが表示されます。この状況は、標準モードとosjp.next
モードの両方で発生します。
回避策
アプリケーション・ユーザーに、FirefoxまたはSafariを使用してアプリケーションにアクセスするよう指示する必要があります。
プラットフォーム: MS Windows
ページがScalar Vector Graphicsを使用してデプロイされ、Internet Explorer 7 (IE7)を使用してアクセスされる場合、ページのグラフィック・コンテンツのかわりにソースが表示されます。この状況は、標準モードとosjp.nextモードの両方で発生します。
回避策
SVGグラフィックはIE7でネイティブにサポートされないため、アプリケーション開発者は、アプリケーションでSVGグラフィックを使用しないようにする必要があります。使用している場合は、次のような警告を追加する必要があります。
All current browsers, with the exception of Internet Explorer, support SVG
files. Internet Explorer requires a plug-in to display SVG files. The plug-ins
are available for free, for example, the Adobe SVG Viewer at
http://www.adobe.com/svg/viewer/install/
.
プラットフォーム: すべて
WebアプリケーションまたはWebモジュールのデプロイメント時に、デプロイメント・プランを使用して2つのデプロイメント記述子WEB-INF/classes/META-INF/persistence.xmlおよびWEB-INF/classes/META-INF/persistence-configuration.xmlをオーバーライドすることはできません。それ以外の場合は、デプロイメント・プランを使用して記述子をオーバーライドできます。
回避策
WEB-INF/classes/META-INF/persistence.xmlおよびWEB-INF/classes/META-INF/persistence-configuration.xml(存在する場合)を関連するクラス・ファイルと一緒にjarファイルにパッケージ化してください。JARファイルはWebアプリケーションまたはWebモジュールのWEB-INF/libディレクトリに配置する必要があります。このようなJARファイルであれば、デプロイメント・プランを使用して2つの記述子をオーバーライドできます。
プラットフォーム: すべて
Spring拡張モデルが有効になっている場合、WebLogic Server 10.3以降はパフォーマンス上の理由から、JSPタグ・ハンドラではSpringの依存関係インジェクション(DI)をサポートしていません。
現在、WebLogic Serverは、サーブレット、フィルタ、リスナーなどのほとんどのWebコンポーネントでSpring DIをサポートしています。ただし、パフォーマンス上の理由から、現在、Spring DIはJSPタグ・ハンドラではサポートされていません。
プラットフォーム: すべて
セッションが永続化され、サーブレット・コンテキストの古いバージョンがリタイアされる場合に、有効なsessionid
でアプリケーションにアクセスすると、503エラーが発生します。
たとえば、バージョン管理されているWebアプリケーションのセッション永続性のタイプは「ファイル」です。ユーザーはアプリケーションに正常にアクセスできます。その後、そのアプリケーションのバージョン2がデプロイされて、バージョン1がリタイアされます。ここで、同じユーザーがアプリケーションにアクセスすると、503エラーが発生します。
プラットフォーム: すべて
WebLogic Server 12.1.2以降は、weblogic.xml
デプロイメント記述子内のjdbc-connection-timeout-secs
要素はなくなりました。jdbc-connection-timeout-secs
を構成するアプリケーションは、WebLogic Server 12.1.2サーバー・インスタンスでデプロイに失敗し、サーバー・ログで次のエラーになります。
Unable to load descriptor /.../WEB-INF/weblogic.xml of module myweb. The error is weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND <6:7> problem: cvc-complex-type.2.4a: Expected elements 'timeout-secs@http://xmlns.oracle.com/weblogic/weblogic-web-app ...' instead of 'jdbc-connection-timeout-secs@http://xmlns.oracle.com/weblogic/weblogic-web-app' here in element session-descriptor@http://xmlns.oracle.com/weblogic/weblogic-web-app
回避策
weblogic.xml
デプロイメント記述子からjdbc-connection-timeout-secs
要素を削除します。
プラットフォーム: すべて
HttpServletRequest
getLocale
メソッドとgetLocales
メソッドでWebLogic Serverの言語タグを取得する際のデフォルトの動作が変更されました。12.1.3より前は、getLocale
メソッドとgetLocales
メソッドは、RFC3066に従って言語タグを返していました。12.1.3からは、これらのメソッドはRFC5646に従って言語コードを返します。
回避策
RFC3066に従って言語コードを取得する場合は、weblogic.xml
ファイルのcontainer-descriptor
のlangtag-revision
要素を3066に設定する必要があります。次に例を示します。
<container-descriptor> <langtag-revision>3066</langtag-revision> </container-descriptor>
システム・プロパティ-Dweblogic.servlet.langtagRevision
でもロケール解析メカニズムを指定できます。ただし、langtag-revision
に値を設定すると、その値で-Dweblogic.servlet.langtagRevision
の設定がオーバーライドされます。詳細は、『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』のlangtag-revisionに関する項を参照してください。
プラットフォーム: すべて
Tyrusのメッセージ・フレーム・サイズには、大容量の受信メッセージを回避するための制限があります。デフォルト値は4MBです。
回避策
この値はサーブレット・コンテキスト・パラメータで構成できます。WebLogic Serverでは、weblogic.websocket.tyrus.incoming-buffer-size
パラメータに該当し、次のように編集できます。
<context-param> <param-name>weblogic.websocket.tyrus.incoming-buffer-size</param-name> <param-value>value_to_tune</param-value> </context-param>
プラットフォーム: すべて
WebLogic Server 12.1.3より、JSPページに対するweblogic.xml
内のjsp-descriptor
要素のencoding
要素のデフォルト値は、UTF-8
です。WebLogic Server 12.1.3より前は、JSPエンコーディングのデフォルト値はISO-8859-1
でした。
回避策
ISO-8859-1
をjsp-descriptor
要素のエンコーディング値として指定するには、input-charset
要素のjava-charset-name
要素をISO-8859-1
に構成します。詳細は、『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』の「weblogic.xmlデプロイメント記述子の要素」を参照してください。
12.2.1.1より、WebLogic Serverは、Webアプリケーションのデプロイメント記述子web.xml
のバージョンが2.5以前に設定されたJSFベースのWebアプリケーションに対してアノテーション付きカスタム・タグはサポートしません。
回避策
バージョンが2.5以前に設定されたWebアプリケーションの互換性のために、Webアプリケーションのデプロイメント記述子web.xml
のバージョンを3.0にアップグレードすることをお薦めします。
たとえば、既存のWebアプリケーションのバージョンが2.3に設定されているとします。次の例に示すように3.0にアップグレードします。
<?xml version = '1.0' encoding = 'windows-1252'?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> ... </web-app>
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
WLSTのloadProperties
コマンドで、名前に「.」(ピリオド)が含まれているプロパティのロードがサポートされていません。たとえば、プロパティ・ファイル内にmyapp.db.default
という名前のプロパティが存在すると、WLSTから次のような名前例外がスローされます。
Problem invoking WLST - Traceback (innermost last): File "<iostream>", line 7, in ? File "<iostream>", line 4, in readCustomProperty NameError: myapp
これは、PythonおよびloadProperties
コマンドのシステム制限です。WLSTでは、変数の名前と値を読み込み、それらをPythonインタプリタの変数として設定します。Pythonインタプリタでは、ネームスペース、パッケージ、またはその両方の命名において、モジュールのスコープ指定を示すデリミタとして「.」が使用されています。したがって、前述のプロパティ・ファイルの場合、myapp.db.default.version=9i
がmyapp.db.default
パッケージに含まれていることを示しますが、そのようなパッケージは存在しないためエラーになります。このパッケージは存在しません。
回避策
変数名にピリオドを使用しないようにしてください。これにより、プロパティ・ファイルから変数をロードし、WLSTスクリプトでそれらを参照できるようになります。ネームスペースの区切り文字としては、「_」(アンダースコア)や英字の大文字/小文字などを使用できます。
別の方法としては、プロパティ・ファイルから変数を設定することも可能です。スクリプト内で変数を使用すると、それらの変数はプロパティ・ファイルからの実際の値に置き換えられます。次に例を示します。
myapp.py var1=10 var2=20 import myapp print myapp.var1 10 print myapp.var2 20
この方法は、1レベルのネームスペース(myapp.var1
、myapp.var2
)であれば機能します。同じ名前をネームスペースとして共有する最上位の変数(myapp=oracle
やmyapp.var1=10
など)では機能しません。myapp
変数を設定すると、myapp
ネームスペースはオーバーライドされます。
複数のレベルが必要な場合は、ディレクトリを使用してパッケージ・ネームスペースを定義できます。vars.py
ファイルで、次のようにmyapp/db/defaultディレクトリを作成します。
var1=10 var2=20
そして、次のようにインポートします。
import myapp.db.default.vars print myapp.db.default.vars.var1 10
サブディレクトリに__init__.py
ファイルを追加する必要がある場合もあります。パッケージの詳細については、次のPythonドキュメントを参照してください。
プラットフォーム: すべて
Jython 2.2によって作成されたデフォルトのcachedir
は有効なディレクトリではありません。weblogic.jar
からJythonを直接使用している場合、WLSTはエラーを出力します。
回避策
この問題には、2つの回避策があります。
WLSTを呼び出す場合は、-Dpython.cachedir=<
valid_directory
>
パラメータを指定します。
weblogic.jar
に含まれている部分的なJythonを使用するかわりにJython 2.2.1を別途インストールします。
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
WebLogic Serverでは、JAX-RPC 1.1仕様で要求されているスパース配列と部分転送配列がサポートされません。
プラットフォーム: すべて
Webサービス記述言語(WSDL)のコンパイラでシリアライズ可能なデータ型が生成されないため、データがリモートのEJBに渡されない、またはJMS宛先に格納されません。
プラットフォーム: すべて
WebLogic Serverでは、親Webサービスのターゲット・ネームスペースに適合しないパッケージを持つカスタム例外を、コールバックで使用することはできません。
回避策
コールバックで使用されるカスタム例外は、親Webサービスのターゲット・ネームスペースに適合するパッケージに入れるようにしてください。
プラットフォーム: すべて
プロキシ・サーバーを使用している環境では、JMS転送を使用できません。これは、JMS転送の場合はWebサービス・クライアントが常に t3 プロトコルを使用してWebサービスに接続するのに対し、プロキシ・サーバーではHTTP/HTTPSしか受け付けられないためです。
プラットフォーム: すべて
Webサービス・パラメータとして複合型http://www.w3.org/2001/XMLSchema{schema}
を使用するWSDLの処理中にclientgen
が失敗します。
プラットフォーム: すべて
JWSコールバックで2次元のXmlObject
パラメータ(XmlObject[][]
)を使用すると、IllegalArgumentException
が発生します。
回避策
現在、この問題に対する既知の回避策はありません。
プラットフォーム: すべて
@WildcardBinding(className="javax.xml.soap.SOAPElement[]", binding=WildcardParticle.ANYTYPE)
のようにWebサービス・パラメータとしてSoapElement[]
を使用すると、クライアントでは常に空の配列が生成されます。
回避策
SOAPElement[]
のデフォルト・バインディングをWildcardParticle.ANYTYPE
に変更する際に、@WildcardBinding
アノテーションを使用しないようにしてください。SOAPElement[]
のデフォルト・バインディングがWildcardParticle.ANY
に設定されます。
プラットフォーム: すべて
WebサービスAからWebサービスBを呼び出す場合には、WebサービスAで@ServiceClient
アノテーションを使用して呼び出す必要があります。WebサービスBにおいてWebサービスBのWSDLに添付されていないカスタム・ポリシー・ファイルが必要になる場合、WebサービスAの実行は失敗します。WebサービスAはポリシー・ファイルを/Web-Inf/classes/policies/
filename
.xml
で検索します。しかし、その場所にはポリシー・ファイルが存在しないため、ファイルが見つからないことを示す例外がスローされます。
回避策
WebサービスBにカスタム・ポリシー・ファイルを添付してください。次に例を示します。
@Policy(uri="CustomPolicy.xml", attachToWsdl=true) public class B { ... }
プラットフォーム: すべて
セキュリティ・ポリシーに以下のいずれかのトークン・アサーションが含まれている場合、クライアント側でサーバーのレスポンス・メッセージの署名の検証に失敗する可能性があります。
<sp:WssX509PkiPathV1Token11/> <sp:WssX509Pkcs7Token11/> <sp:WssX509PkiPathV1Token10/> <sp:WssX509Pkcs7Token10/>
また、<sp:WssX509Pkcs7Token11/>または<sp:WssX509Pkcs7Token10/>トークン・アサーションの場合に、X509のチェーン内に3つ以上の証明書があると、サーバー側で受信するメッセージの署名の検証に失敗する可能性があります。
証明書チェーン全体がクライアント側に保持されない限り、次のようなポリシーはサポートされません。
<sp:AsymmetricBinding> <wsp:Policy> <sp:InitiatorToken> <wsp:Policy> <sp:X509Token sp:IncludeToken='. . ./IncludeToken/AlwaysToRecipient'> <wsp:Policy> <sp:WssX509Pkcs7Token11/> </wsp:Policy> </sp:X509Token> </wsp:Policy> </sp:InitiatorToken> <sp:RecipientToken> <wsp:Policy> <sp:X509Token sp:IncludeToken='. . ./IncludeToken/Never'> <wsp:Policy> <sp:WssX509Pkcs7Token11/> </wsp:Policy> </sp:X509Token> </wsp:Policy> </sp:RecipientToken> . . . </wsp:Policy> </sp:AsymmetricBinding>
回避策
以下の2つの解決策のいずれかを使用してください。
X509証明書チェーンに複数の証明書がある場合は、<sp:WssX509Pkcs7Token11/>
または<sp:WssX509Pkcs7Token10/>
のかわりに、WssX509PkiPathV1Token11/>
または<sp:WssX509PkiPathV1Token10/>
を使用する必要があります。
プラットフォーム: すべて
build.xml
のxmlcatalog
要素では、エンティティの場所はローカル・ファイル・システム上のファイルでなければなりません。リモート・ファイル(http:
など)やアーカイブ内のファイル(jar:
など)は使用できません。
回避策
必要な場合は、代わりに、カタログ・ファイル内のエンティティとしてリモート要素を定義してください。
プラットフォーム: すべて
XMLカタログ機能を使用する場合、カタログ・ファイルではpublic
要素がサポートされません。JAX-WS EntityResolver実装との整合性を保つためにサポートされていません。WebLogic Serverはカタログ・ファイルでsystem
要素の定義のみをサポートしています。
プラットフォーム: すべて
ローカルのxmlcatalog
要素がAntの制限のために正しく機能しません。
回避策
Ant build.xml
ファイルで、同じターゲット内の場合はclientgen(wsdlc)
タスクより上にローカルの要素を定義する必要があります。または、その要素を別のターゲットで定義してください。
プラットフォーム: すべて
clientgen
タスクのxmlcatalog
要素で外部カタログ・ファイルを使用できません。たとえば、次のようなAntビルド・ファイルのスニペットは機能しません:
<clientgen ... <xmlcatalog> <catalogpath> <pathelement location='wsdlcatalog.xml'/> </catalogpath> </xmlcatalog>
これはAnt XMLカタログの制限です。
回避策
リソースの場所は、インラインか外部カタログ・ファイルで、または両方で指定できます。外部カタログ・ファイルを使用するには、xml-commons
リゾルバ・ライブラリ(resolver.jar
)をクラスパスに含める必要があります。外部カタログ・ファイルの形式はプレーン・テキストまたはXMLです。xml-commons
リゾルバ・ライブラリがクラスパスで見つからない場合、<catalogpath>
パスで指定された外部カタログ・ファイルは無視されて、警告がログに記録されます。ただし、この場合でも、インライン・エントリの処理は正常に続行されます。
現在、インラインで指定できるのは<dtd>
要素と<entity>
要素のみです。これらの要素はそれぞれ、OASISカタログ・エントリ・タイプのPUBLICとURIに対応します。
プラットフォーム: すべて
WebSphereをクライアントとし、WebLogic ServerまたはJRFをサービスとして使用したWeb Services Atomic Transactions (WS-AT) 1.1の相互運用は動作しません。
WS-AT 1.1の相互運用は、WebSphereがサービスで、WebLogic ServerまたはJRFがクライアントの場合に動作します。この場合、相互運用はFix/Feature Pack 7を適用したWebSphere 7がある場合にのみ動作します。
JAX-RSアプリケーションが実行されているWebLogic Serverインスタンスを停止すると、サーバー・ログに次のエラー・メッセージが記録されていることがあります。
<Error> <org.glassfish.jersey.server.internal.monitoring.MonitoringStatisticsProcessor > <BEA-000000> <Exception thrown when provider class org.glassfish.jersey.server.internal.monitoring.MonitoringFeature$StatisticsLi stener was processing MonitoringStatistics. Removing provider from further processing. ...
このエラー・メッセージは無視してかまいません。
プラットフォーム: すべて
複数のターゲットを持つドメインをJAX-RPC拡張テンプレートを使用して拡張する場合、CIE処理で複数のターゲット用のSAFエージェントのクローニングはサポートされません。SAFエージェントの各インスタンスは、単一ターゲットに割り当てられます。
回避策
複数のターゲットに追加のSAFエージェントを作成するには、WLSTを使用する必要があります。ただし、SAFエージェントの各インスタンスは、1つのターゲットにのみターゲット指定できます。次の例では、ドメインdomain1用にSAFエージェントを作成し、2つのターゲット・クラスタを含めます。
readDomain('domain1') cd('/') create('ReliableWseeSAFAgent1','SAFAgent') create('ReliableWseeSAFAgent2','SAFAgent') assign('SAFAgent','ReliableWseeSAFAgent1','Target','SenderCluster') assign('SAFAgent','ReliableWseeSAFAgent2','Target','ReceiverCluster') wlsuOfflineUpdateWLSDomain()
この項では、次の問題と回避策について説明します。
プラットフォーム: すべて
VIEWクラスは接続ごとには設定されません。
2つのアプリケーションが、定義は異なるが同じVIEW名を持つVIEWクラスをそれぞれ指定した場合、WebLogic Tuxedo Connectorの共有ハッシュ表は、サーバーで予期しない動作を引き起こすことがあります。Resourceセクション用のハッシュ表に加えて、その接続におけるVIEWクラス用のハッシュ表を用意する必要があります。
回避策
すべてのWebLogic Workshopアプリケーションで定義されている全VIEWクラスに一貫性を持たせます。つまり、同じVIEWクラスを表す場合にのみ同じVIEW名を用いるようにします。
この項では、ドキュメントの訂正箇所を示します。
プラットフォーム: すべて
Windowsの「スタート」メニューから「Oracle WebLogic」→「WebLogic Server」→「Examples」→「Documentation」を選択してExamplesドキュメントにアクセスすると、サンプル・ビューアの「検索」機能が動作しません。
回避策
サンプル・アプリケーションおよびサンプル・コードを検索するには、Examplesサーバーを起動して、http://localhost:7001/examplesWebApp/docs/core/index.html
に移動する必要があります。「手順説明」をクリックし、「検索」をクリックします。
プラットフォーム: すべて
サンプル・ビューアの「検索」機能を使用すると、Avitek Medical Recordの一部のトピックの日本語版と英語版が同時に表示されるトピックが返されることがあります。
プラットフォーム: すべて
http://www.oracle.com/technetwork/middleware/weblogic/documentation/index.html
から入手可能なWebLogic Serverドキュメント・ライブラリZIPファイルを抽出した後で、次のライブラリの一部でHTMLページが正しく表示されないことがあります。
E12840_01 (WebLogic Server 10.3.0ドキュメント・ライブラリ)
E12839_01 (WebLogic Server 10.3.1ドキュメント・ライブラリ)
E14571_01 (WebLogic Server 10.3.3ドキュメント・ライブラリ)
回避策
ライブラリE12840-01の場合、E12840_01.zipライブラリ・ファイルを抽出した後で、HTMLページが正しく書式設定されない場合は、次の手順を実行します。
/global_resources
ディレクトリを探します。 /global_resources
ディレクトリを同じドライブのルート・ディレクトリにコピーします。ライブラリE12839-01およびE14571-01の場合、この問題はWindowsオペレーティング・システムでのみ発生します。抽出したライブラリのHTMLページが正しく書式設定されない場合は、解凍ユーティリティで別の抽出オプションを使用してZIPファイルを抽出してみます。たとえば、7-Zipを使用してファイルを抽出している場合は、フル・パス名オプションを選択します。Windows解凍ユーティリティではライブラリZIPファイルを抽出できません。
プラットフォーム: すべて
以前のバージョンのWebLogic Serverで、リモート・クライアント(コンテナ外からの呼出し)がIIOPおよびwlclient.jar
ファイルを使用してEJBを呼び出し、そのEJBがクライアントとEJBとの間でのクラス・バージョンの不一致を引き起こす値オブジェクト返す場合、次のエラーが発生していました。
org.omg.CORBA.BAD_PARAM: Could not find FVD class
この問題は、WebLogic Serverインスタンス間でも発生しました。
この問題は、WebLogic Server 12.2.1.1で解決されています