ナビゲーションをスキップ

リリース ノート

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

サービス パック 1 で解決された問題

サービス パックは累積的であり、サービス パック 1 には WebLogic Server 8.1 の以前のサービス パックで行われたすべての修正が含まれています。

以下の節では、WebLogic Server 8.1 サービス パック 1 で解決された問題について説明します。

Administration Console

変更要求番号

説明

問題が修正されたリリース

CR094513

使用されていないコネクタの場合、コネクタ モニタ テーブルに最終使用時間が「Wed Dec 31 19:00:00 EST 1969」と表示されていました。 このリリースでは、「Never」という文字列が表示されます。

8.1 SP1

CR095863

複数の WebLogic セキュリティ プロバイダの MBean 定義ファイル (MDF) に定義されているカスタム属性が [詳細] タブではなくそのプロバイダの [一般] タブに表示されました。これらの属性は以下のとおりです。

  • WebLogic 裁決プロバイダの [完全一致の許可が必要]

  • WebLogic 監査プロバイダの [重大度]

  • WebLogic 認証プロバイダの [最小パスワード文字数]

  • WebLogic 認可プロバイダの [ポリシー デプロイメントを有効化]

  • WebLogic 資格マッピング プロバイダの [資格マッピング デプロイメントを有効化]

  • WebLogic ロール マッピング プロバイダの [ロール デプロイメントを有効化]

これらの属性は、これらの WebLogic セキュリティ プロバイダの [詳細] タブに表示されます。

8.1 SP1

CR097818

[アイドル接続を表示] および [リークした接続を表示] ページに関するオンライン ヘルプが存在しませんでした。これらのページのオンライン ヘルプが利用できるようになりました。

8.1 SP1

CR098353

7.0 SP01 で TransactionLogFileWritePolicy 属性が追加されましたが、Administration Console に表示されませんでした。

この属性を設定するためのフィールドが、[サーバ|ログ| JTA] タブで使用できるようになりました。

7.0 SP3

8.1 SP1

CR099541

ポリシー エディタ ページの下部の [削除] ボタンでは、強調表示したセキュリティ ポリシーが削除されませんでした。また、デフォルト セキュリティ ポリシーも削除されませんでした。しかし、その上部にある [削除] ボタンを使用するとデフォルト セキュリティ ポリシーが削除されてしまいました。

この動作は、JavaScript コードの問題のために発生しました。

JavaScript コードが変更され、ポリシー エディタ ページのボタンが正常に機能するようになりました。

8.1 SP1

CR099771

データ ソースを作成する場合、JDBC アシスタントを使用して [詳細オプション] を有効にできませんでした。特に関連するオプションは、[非 XA ドライバ用に 2 フェーズ コミットをエミュレート] でした。

[非 XA ドライバ用に 2 フェーズ コミットをエミュレート] オプションは、JDBC アシスタントで使用できるようになりました。

8.1 SP1

CR099866

管理ポートを有効にした場合、Administration Console はそれを使用する必要があります。しかし、コンソール拡張 Web アプリケーションは管理ポートを使用しないため、ナビゲーション ツリー内のコンソール拡張 Web アプリケーションへのリンクが機能しませんでした。

この問題は、コンソール拡張 Web アプリケーションは内部的 (管理ポートへのアクセスが必要) として指定されていないので、サーブレット コンテナがリクエストを拒否するために発生しました。

このリリースでは、コンソール拡張 Web アプリケーションは内部的として指定されています。

8.1 SP1

CR100224

管理対象サーバの JNDI ツリーを参照するときに例外が適切に処理されませんでした。例外はログに表示されますが、Administration Console には例外または異常が発生したことは示されませんでした。

JSP コードを修正して、JNDI ツリーで例外が発生すると、ナビゲーション ツリー内の対象ノードに「Access Denied」というエントリが作成されるようにしました。この例外は、ログにも出力されます。

8.1 SP1

CR100460

既存の JMS 分散キューまたはトピックの対象となっているサーバを複製しようとすると、Administration Console にコンソールに javax.management.InvalidAttributeValueException という例外が表示されました。この例外メッセージでは、サーバが「Illegal target(不正な対象)」であり、「A JMSDistributedQueue/JMSDistributedTopic, if it has members, should be deployed to a cluster or a single server that is not in a cluster. (JMSDistributedQueue/JMSDistributedTopic にメンバーがある場合は、単一クラスタまたはクラスタ内にない単一サーバに対してのみデプロイしてください)」と指示されていました。新しく複製したサーバは作成されますが、ナビゲーション ツリーに表示されず、サーバのテーブルに表示されました。

コードを修正して、サーバの複製によって既存の JMS 分散キューまたはトピックが対象として追加されないようにしました (これらはすでにクラスタの対象となっているため)。また、新しく複製したサーバがナビゲーション ツリーに表示されるようになりました。

8.1 SP1

CR100638

特定の分散トピックまたはキュー メンバーのページのバナーにある分散トピック メンバーまたは分散キュー メンバーへのリンクをクリックすると、404 エラーが発生しました。

この問題は、バナーからこのリンクを削除したことで解決されました。これらは、特定の分散トピックまたはキュー メンバーのリンクの機能と重複していたためです。

8.1 SP1

CR100731

Web アプリケーションを正常に削除したあとに [続行] リンクをクリックすると javax.management.InstanceNotFoundException というメッセージが表示されました。

この問題は、コードを修正することで解決しました。

8.1 SP1

CR100974

サーバの新しいネットワーク チャネルをコンフィグレーションする場合、Administration Console でリスン アドレスを指定する必要がありました。

この問題は、[リスン アドレス] フィールドの検証を削除して、このフィールドが Administration Console によって要求されないようにすることで解決されました。

8.1 SP1

CR101247

Admin 以外のセキュリティ ロールが付与されているユーザとして Administration Console にログインし、ナビゲーション ツリーの [サービス| JCOM] をクリックした場合、ドメイン コンフィグレーション ページが表示されました。

ユーザがセキュリティ設定を修正するためのパーミッションを持たない (Admin 以外のセキュリティ ロールが付与されているすべてのユーザ) 場合、ナビゲーション ツリーから [サービス| JCOM] ノードを削除することによってこの問題を解決しました。

8.1 SP1

CR101317

Internet Explorer 5.5 で Administration Console を使用する場合、「Object does not support this property or method」という JavaScript エラー メッセージが表示されました。Internet Explorer 6.0 にアップグレードするとこの問題が修正されます。このエラーは、指定されていない Internet Explorer パッチを適用した一部のコンピュータでのみ発生する可能性がありました。

この問題は、Internet Explorer のこのバージョンのバグに対する JavaScript 回避策を追加したことで解決されました。

8.1 SP1

CR101770

[SSL ログイン タイムアウト] フィールドが WebLogic Server Administration Console から誤って削除されました。

[コンフィグレーション|チューニング] タブの [ログイン タイムアウト] フィールドの下にこのフィールドを追加することで、この問題を解決しました。

8.1 SP1

CR102441

定義される新しいユーザ、グループ、セキュリティ ポリシー、セキュリティ ロールをそれぞれ格納するコンフィグレーション済み認証プロバイダ、認可プロバイダ、ロール マッピング プロバイダ、資格マッピング プロバイダを選択するページに関するヘルプが存在しませんでした。

この問題は、これらのページに関するヘルプ テキストを追加および表示したことで解決されました。

8.1 SP1

CR102561

JMS ファイル ストアを単一の JMS サーバに割り当て、[ストアを有効化] ボックスをチェック (true に設定) して分散トピックを作成した場合、次のようなエラーが表示されました。

StoreEnabled set to 'true' for destination 'MyJMS Topic' but no Store configured for server 'TendrilJMSServer'.

JMS サーバにストアが定義されていない場合は、[ストアを有効化] を [有効化] に設定することはできません。

この問題は、[ストアを有効化] 設定が動的ではなく、プロセスで JMS サーバへの自動割り当てが早過ぎたために発生しました。

この問題は、JMS サーバの自動割り当て機能を削除することで解決されました。

8.1 SP1

CR102846

Administration Console の [サーバ|プロトコル|チャネル|ネットワーク チャネル] タブの [詳細オプション] ペインに、使われなくなった [チャネルの重み] フィールドが表示されました。

この問題は、Administration Console から [チャネルの重み] フィールドを削除したことで解決されました。

8.1 SP1

CR102982

サーバの [チューニング] タブに [クライアント証明書プロキシを有効化] チェック ボックスが表示されますが、この属性はチューニングには関係ありません。

この問題は、[クライアント証明書プロキシを有効化] フィールドを [コンフィグレーション|一般] タブに移動したことで解決されました。

7.0 SP3

8.1 SP1

CR103328

Administration Console でサーバ ログ メッセージの詳細を表示しようとすると、次の例外が発生する場合がありました。

java.lang.IllegalArgumentException: Cannot format given Object as a Number

この問題は、数値引数が含まれるメッセージが適切に処理されなかったために発生しました。

この問題は、数値引数を含むメッセージが適切に処理されるようにコードを修正したことで解決されました。また、これらのメッセージのフォーマットを設定しているときに予期しない例外が発生するという問題も修正されました。ローカライズされたメッセージは、Administration Console の他の場所で発生した場合に表示されます。

8.1 SP1

CR103536

複数の JMS サーバをコンフィグレーションし、[ストアを有効化] ボックスをチェックせずに (false に設定して) 新しい分散トピックまたはキューを作成し、その後このボックスをチェック (true に設定) した場合、次のようなエラーが表示されました。

JMS サーバにストアが定義されていない場合は、[ストアを有効化] を [有効化] に設定することはできません。

このエラーは、[ストアを有効化] ボックスをチェックし、新しいトピックまたはキューを ([作成] ボタンをクリックして) 作成したあとに [適用] ボタンをクリックした場合にも発生しました。

この問題は、検証論理の修正によって解決されました。

8.1 SP1

CR105226

ナビゲーション ツリーを使用 ([レルム| myrealm |ユーザ管理|このセキュリティ レルム内でユーザを管理します] をクリック) せずにグローバル ロールを参照しようとすると、グローバル ロールだけでなくすべてのセキュリティ ロールがページに表示されました。このため、同名のグローバル ロールとスコープ ロールが表示されている場合、セキュリティ ロールが重複しているように見えました。

この問題は、上記のナビゲーション パスでグローバル ロールしか表示されないようにページを修正したことで解決されました。

8.1 SP1

CR105262

エンタープライズ アプリケーション (EAR) の一部としてデプロイされた Web アプリケーションのスコープ ロールを表示しようとすると、次のエラーが発生しました。

There are no appropriate RoleEditor providers configured.

この問題は、RoleEditor オプション SSPI を実装して、セキュリティ ロールの編集やデプロイなどをサポートするロール マッピング プロバイダを検索するようにコードを修正したことで解決されました。

8.1 SP1

CR108134

JDBC アシスタントに複数の JDBC ドライバが表示されますが、WebLogic Server JDBC で動作が確認されているのはそれらの一部だけでした。

WebLogic Server JDBC で動作が確認されているドライバは、JDBC アシスタントでそのように明記されるようになりました。

8.1 SP1

クラスローダ

変更要求番号

説明

問題が修正されたリリース

CR102530

WebLogic Server が CLASSPATH 情報を必要とする外部プロセスを実行する場合、現在のクラスローダのクラスパスに基づいて文字列表現が生成されます。この表現には、MANIFEST クラスパス エントリ内の情報が含まれ、生成されるパスの要素が重複する可能性があります。場合によっては、OutOfMemoryError が発生します。

この問題を回避するために、クラスパス生成アルゴリズムを修正して重複エントリがフィルタ処理されるようにしました。

8.1 SP1

クラスタ

変更
要求
番号

説明

問題が修正されたリリース

CR102526

Administration Console の [プロトコル|チャネル] タブを使用してサーバの HTTP ネットワーク チャネルを定義する場合、セッション複製が機能しませんでした。

この問題は、リモート チャネル選択コードに問題が存在したために発生しました。

この問題は、リモート チャネル選択コードを修正し、t3 用に無効なチャネルを使用しないようにしたことで解決されました。

8.1 SP1

コネクタ

変更要求番号

説明

問題が修正されたリリース

CR100269

Oracle Thin Client ドライバを使用する JDBC リソース アダプタが、クライアント制御のトランザクションの完了時に機能しなくなりました。

この問題は、クライアント アプリケーションから開始されたトランザクションを使用するときに発生しました。このクライアントは、トランザクションを開始し、リソース アダプタを使用する Bean または Web アプリケーションにアクセスしました。クライアント アプリケーションがトランザクションをコミットまたはロールバックしようとすると、サーバは例外 javax.transaction.xa.XAException を送出しました。

この問題は、Oracle Thin Client ドライバが TMSUSPEND フラグが指定された XAResource.end 呼び出しを適切に処理しないことから発生しました。

この問題は、XAResource 呼び出しをインターセプトすることで解決されました。

8.1 SP1

CR100707

CR101761

WebLogic Server 7.0 SP3 より前のバージョンで JCA を使用した場合、java.naming.CompositeNamejava.lang.ClassCastException が送出されました。WebLogic Server 8.1 で JCA を使用する場合、Web アプリケーションの resource-ref エントリ (Auth, SharingScope) が null を返しました。

この問題は、内部エラーのために発生したもので、コードの修正で解決されました。

7.0 SP3

8.1 SP1

CR101906

クライアントが EJB のメソッドを呼び出しました。XA トランザクション状態中に ManagedConnection (MC) と EIS 間の接続が失敗した場合、トランザクションがすでにロールバックされたあとにコンテナが XAResource.rollback および ManagedConnection.cleanup を 60 秒ごとに呼び出しました。以後に行われる EIS の呼び出しによって、java.lang.NullPointerException 例外が発生しました。

<Mar 21, 2003 5:50:52 PM PST> <Error> <Connector> <190041> << JCA Resource Adapter for ClearPath MCP_eis/comsRAJNDINAMEBrazil > The returned ManagedConnection instance is null> <Mar 21, 2003 5:50:52 PM PST> <Info> <EJB> <010051> <EJB Exception during invocation from home: drummer.CedarBank.CedarBankBeanBrazil_ris6bf_HomeImpl@12fc36 threw exception: java.lang.NullPointerException java.lang.NullPointerException at drummer.CedarBank.CedarBankBeanBrazil.cedarBank(CedarBankBeanBrazil.java:130) at drummer.CedarBank.CedarBankBeanBrazil_ris6bf_EOImpl.cedarBank(CedarBankBeanBrazil_ris6bf_EOImpl.java:46) at drummer.CedarBank.CedarBankBeanBrazil_ris6bf_EOImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362) at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114) at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313) at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:785) at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308) at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)

調査の結果、WebLogic Server はトランザクションの完了を待たずに接続を破壊しようとすることが明らかになりました。

コードを修正して問題は解決されました。

7.0 SP3

8.1 SP1

CR101924

一致する資格が複数存在する場合、新しい資格マップを作成すると、次の行で始まる例外が発生しました。

java.lang.IllegalStateException: Subject is read-only at javax.security.auth.Subject$SecureSet.add(Subject.java:1046) at
weblogic.connector.common.internal.SecurityContext$1.run(SecurityContext.java:250) at
java.security.AccessController.doPrivileged(Native Method) at
weblogic.connector.common.internal.SecurityContext.initSubject(SecurityContext.java:244)
...

この問題は、リスト中の各資格がサブジェクトに追加されるときに setReadOnly メソッドが呼び出されたために発生しました。このため、最初にサブジェクトに追加される資格だけが上記の例外を送出しませんでした。

この問題は、すべての資格がサブジェクトに追加されたあとに setReadOnly メソッドが一度だけ呼び出されるようにコードを修正したことで解決されました。

8.1 SP1

CR102220

WebLogic Server インスタンスを強制停止して再起動したときに、メッセージング ブリッジがソースまたは対象送り先に再接続できませんでした。

この問題は、リソースの解放または接続の破棄を行う間に、ConnectionPool コードが接続プール上で同期されたために発生していました。この結果、2 つのスレッドのデッドロックが発生しました。最初のスレッドはリソースを解放してロックを取得して 2 番目のスレッドを待ち、2 番目のスレッドは接続プールでロックの取得を待つリソースを破棄しようとしました。

この問題は、ロック競合の問題を解消する必要がある場合にのみロックを取得するように ConnectionPool コードを修正したことで解決されました。

8.1 SP1

CR104642

ManagedConnection でエラーが発生した場合、その接続は接続プールから削除されますが、プール内の使用可能接続数がデクリメントされませんでした。この結果、最大接続数に予想より早く到達し、クライアントが新しい接続を要求したときに次のようなエラー メッセージが表示されました。

<Reached maximum capacity of pool "Archiv_eis/ArchivAdapter", making "0" new resource instances instead of "1".>

この問題は、ManagedConnection エラー後にプール内の使用可能接続数が適切にデクリメントされるようにコードを修正したことで解決されました。

8.1 SP1

CR105085

CR105712

プロキシ テストの実行後、接続が閉じられませんでした。

この問題は、getConnection によって返される開いている接続に対して close() メソッドが呼び出されるようにコードを修正したことで解決されました。コネクタ コンテナは、接続ハンドルを参照し、close() メソッドを見つけて呼び出します。close() メソッドが見つからなかった場合、コンテナはエラー メッセージをログに出力して、close() メソッドが見つからず、改訂された J2EE コネクタ アーキテクチャ仕様ではこのメソッドが必要とされることを示します。

8.1 SP1

CR112051

リソース アダプタへの接続を含むトランザクションにおいて、あるスレッドでトランザクションの開始が行われている最中に別のスレッドでトランザクションの完了が行われた場合、デッドロック状況に陥って両方のスレッドがハングする可能性がありました。このデッドロックは、JTA サブシステムおよびコネクタ サブシステムの両方が、同じオブジェクトに対して衝突を起こすような方法で同期を実行していたために発生しました。

内部的な同期メカニズムを修正したことで、この衝突は発生しなくなりました。その結果、あるスレッドでトランザクションが開始されている最中に別のスレッドでトランザクションの完了が行われる場合に、サーバがハングすることはなくなりました。

8.1 SP1

コア

変更要求番号

説明

問題が修正されたリリース

CR071415

WebLogic Server セキュリティ マネージャが起動してポリシー ファイルを設定する場合、/usr/lib パスが JSP コンパイル中に javac に付加され、java.security.AccessControlException が発生しました。

この問題は、コードを修正することで解決しました。

6.1 SP6

8.1 SP1

CR087808

CR095487

クライアントが異なるサーバ URL で複数の初期コンテキスト ルックアップを同時に試行した場合、WebLogic Server は接続の重複を検出したときに正常な RJVM を停止する可能性がありました。 この問題は解決されています。

6.1 SP5

7.0 SP3

8.1 SP1

CR092155

古いスタブ (切断され、リモート呼び出し用に使用できないサーバから取得したスタブ) のリモート呼び出しを行った場合、ネットワーク リソースが使い果たされる場合がありました。

この問題は、通信レイヤが実際にサーバに接続せずにこの状態を検出して ConnectException を送出するようにコードを修正したことで解決されました。

8.1 SP1

CR097077

多くの発信 RMI を行うカスタム レルムを使用した場合、発信呼び出しを行うことでリーダー スレッドがブロックされ、応答を読み取るためのスレッドが存在しなくなりました。これは、リーダー スレッドに対する RJVM レイヤ内からの BootServicesImpl.invoke メソッドのために発生します。

この問題は、BootServicesImpl を RMI レイヤに移動して、デフォルト実行キューをディスパッチできるようにしたことで解決されました。

7.0 SP3

8.1 SP1

CR098865

SSL ソケットが閉じられた場合、CLOSE 警告をピアに送信してからデータを書き込みました。この結果、クライアントが応答不能になった場合、または接続が非常に遅い場合にスレッドがハングしました。

この問題は、t3 RJVM タイムアウト後、ソケットが強制的に閉じられるようにすることで解決されました。

8.1 SP1

CR100177

weblogic.security.service.ServerResource を使用することは、Administration Console でサーバ リソースを作成する方法、およびそのマニュアルの記述と矛盾していました。T3 サーバの保護に使用した場合、WebLogic リソース名は常に T3Srvr でした。他のすべてのクラスでは、実行されているサーバの名前が WebLogic リソースの名前として使用されました。

この問題は、実行されているサーバの名前を常に WebLogic リソースの名前として使用することによって解決されました。

7.0 SP3

8.1 SP1

CR101103

WebLogic Server は、IIOP で SPECjAppServer を実行するときにパフォーマンスが低下しました。

この問題は、JDK IIOP シリアライゼーション コードがリクエストごとにシステム クラス ローダの 2 つのクラスをクエリし、loadClass が同期されるために発生しました。この結果、VM 全体でロックの競合が発生しました。

この問題は、これらの 2 つのクラスを GenericClassLoader にキャッシュすることによって解決されました。

8.1 SP1

CR101720

接続フィルタを有効にした場合、Connection rejected メッセージがログ ファイルに蓄積され、ログが一杯になりました。

これは、新しい ConnectionLogger プロパティで解決されました。このプロパティを使用すると、こうしたメッセージをログ ファイルに出力するかどうかをコンフィグレーションできます。

7.0 SP3

8.1 SP1

CR101946

CR101808

Java ソケット リーダーの実装を使用した場合、JMS の拡張機能を使用するとメモリ不足エラーが発生する可能性がありました。

この問題は、Java ソケット マルチプレクサのメモリ リークのために発生しました。このメモリ リークは、ソケットが発生したエラーを読み込むときに発生しました。

この問題は、ソケット読み取りエラーの発生時にソケットに関連するデータ構造が適切に解放されるようにコードを修正したことで解決されました。

8.1 SP1

CR102196

エラー状態によっては、NT 非同期読み取りが失敗したときに NTSocketMuxer にメモリ リークが存在しました。

この問題は、SocketException の発生後に NTSocketMuxer を適切に「読み取り完了」ステータスに設定したことで解決されました。

8.1 SP1

CR102848

重要な作業の実行中に CoreHealthMonitor が ExecuteThreadManager のロックを保持しているため、デッドロックが発生し、Administration Console がフリーズしました。コードの変更により、CoreHealthMontor は ExecuteThreadRuntimeMBean を使用してスタック スレッドのリストを取得し、ETM ロックが保持されている場合でも ExecuteThreadManager のすべての場所からログが出力されないようになりました。

7.0 SP3

8.1 SP1

CR102874

CR103973

デフォルトでは、ネットワーク チャネルのトンネリングが有効になっていました。このため、WebLogic Server インスタンス用にネットワーク チャネルを明示的にコンフィグレーションした場合にセキュリティ リスクが生じる可能性がありました。

この問題は、ネットワーク チャネル トンネリングをデフォルトで無効にしたことによって解決されました。

8.1 SP1

CR103203

AcceptBacklog サーバ属性が誤って動的にコンフィグレーション可能であると表示されました。サーバ ソケットの [バックログを受け入れ] 属性は作成時にしか変更できないので、これは誤りです。要求に応じてサーバ ソケットを動的に再作成する手段は存在しません。このため、[バックログを受け入れ] 属性は静的にしかコンフィグレーションできません。

この問題は、[バックログを受け入れ] を静的にしかコンフィグレーションできないことを確認することによって解決されました。

8.1 SP1

CR103721

Java クライアントがロード バランサのアドレスとして Provider_URL を使用して t3 を介して初期コンテキストを取得しようとすると、接続が拒否されるか、または接続タイムアウトが発生しました。

ソフトウェアの変更により、Java クライアントは Provider_URL をロード バランサの IP アドレスに設定して t3 を介して初期コンテキストを取得できるようになりました。これは、Java クライアントとクラスタ内のサーバ インスタンスの間に確立済みのソケット接続が存在しない場合にのみ可能です。ロード バランサに向けられる Java クライアントからのリクエストだけが初期コンテキスト リクエストです。

デフォルト チャネルと t3 を使用する場合、ExternalDNSName を設定して NAT ファイアウォールを経由する必要がありません。上記の初期コンテキスト リクエストは、ExternalDNSName が設定されている場合は失敗します。

7.0 SP3

8.1 SP1

CR103853

起動クラスまたは起動サーブレットにシステム プロパティを設定しようとした場合、java.util.ConcurrentModificationException が送出され、WebLogic Server が起動できませんでした。

この問題は、起動時にシステム プロパティをログに格納しようとするときにシステム プロパティの複製を使用することによって解決されました。

8.1 SP1

CR103967

WebLogic Server 実行スレッドの子スレッドが正確なコンテキスト クラスローダを継承しませんでした。これは一般的な問題であり、サーブレットまたは EJB がタイマー (java.util.Timer) を作成したときに発生しました。

分析の結果、WebLogic Server 実行スレッドは独自のコンテキスト クラスローダを維持しており、これらの実行スレッドの子スレッドがコンテキストを継承していませんでした。これは、java.lang.Thread が独自のメンバー変数を子スレッドに直接割り当てていたからでした。

この問題は、コードを修正することで解決しました。

6.1 SP6

8.1 SP1

CR104030

EJB が ejbc または appc でコンパイルされなかった場合、デプロイメント時に自動的にコンパイルされます。コンパイラは、PATH 環境変数から選択されます。しかし、commEnv.sh は PATH 変数をエクスポートせず、このため誤ったコンパイラが選択されました。このリリースでは、この問題が修正されました。

8.1 SP1

CR104373

Java クライアントが wlclient.jar を使用してステートレス セッション Bean のホーム スタブの create メソッドを呼び出そうとした場合、ClassCastException が発生する場合がありました。これは、クライアントがオブジェクトに適した IIOP スタブをサーバから取得できなかったためです。

この問題は、リモート オブジェクト用に使用される IIOP リポジトリを正確に反映した名前でスタブが生成されるようにスタブ ジェネレータを修正したことで解決されました。

8.1 SP1

CR107950

WebLogic Server 8.1 GA バージョンではアイドル状態が 4 分を超えた RJVM が停止しましたが、これは WebLogic Server 7.0 からの後退です。

WebLogic Server 8.1 SP1 では、アイドル状態の RJVM はタイムアウトになりません。

8.1 SP1

デプロイメント

変更要求番号

説明

問題が修正されたリリース

CR083731

自動デプロイされたアプリケーションが管理サーバのダウン中に削除されると、システム作成のすべての一時ファイルが削除されるようになりました。対応するコンフィグレーションおよびファイルは、管理サーバの次回の起動時にクリーンアップされます。

8.1 SP1

CR091897

短い名前 (ab.wari.war など) の Web アプリケーションのデプロイメントが失敗しました。次のエラーが発生しました。

java.lang.IllegalArgumentException: Prefix string too short at java.io.File.createTempFile(File.java:1232 at weblogic.j2ee.Component.retrieveComponent(Component.java:296 at weblogic.j2ee.Component.<init>(Component.java:188)at weblogic.j2ee.WebAppComponent.<init>(WebAppComponent.java:45 at weblogic.j2ee.Application.addComponent(Application.java:149) at weblogic.j2ee.J2EEService.addDeployment (J2EEService.java:117)...

このバグは修正されました。

6.1 SP5

8.1 SP1

CR099405

デプロイメント処理中に重複する状態遷移メッセージがログに出力されました。

この問題は、コードを修正することで解決しました。

8.1 SP1

CR101836

weblogic.Deployer を使用して存在しない JSP を非アクティブ化 (アンデプロイ) するリクエストを行うと、エラーではなく、操作が正常に行われたことを知らせるメッセージが返されました。

この問題は、単一の JSP をアンデプロイする方法に関する情報を含んだエラー メッセージが返されるようにコードを修正したことで解決されました。

8.1 SP1

CR104230

weblogic.management.deploy.DeployerRuntime クラスの Javadoc が修正され、意味のないメソッドに関するドキュメントが削除されました。

8.1 SP1

CR104231

DeployerRuntimeMBean クラスの Javadoc で、非推奨となったメソッドが明記されていませんでした。非推奨と明記されたメソッドは以下のとおりです。

  • activate

  • deactivate

  • remove

  • unprepare

  • lookupActiveTargetsForComponent

  • lookupActiveVirtualHostsFor

  • lookupActiveServers

8.1 SP1

CR104258

Web アプリケーションに対するセキュリティ制約を修正して [再デプロイ] ボタン (Administration Console) をクリックしても、古いセキュリティ制約が削除されませんでした。

注意 : この問題は、[再デプロイ] ボタンの代わりに [停止] および [デプロイ] ボタンをクリックした場合は発生しません。

この問題は、適切なメソッドを呼び出して、デプロイメント記述子が読み出されてセキュリティが変更されることを WebLogic セキュリティ サービスに通知することによって解決されました。

8.1 SP1

CR108934

http://dev2dev.bea.com/resourcelibrary/advisoriesnotifications/BEA03-28.01.jsp のセキュリティ勧告を参照してください。

7.0 SP3

8.1 SP1

EJB

変更要求番号

説明

問題が修正されたリリース

CR069896

CMP デプロイメント記述子の内部で、weblogic-rdbms-relation に同じ relationship-role-name を持つ 2 つの weblogic-relationship-roles が含まれている場合、EJB コンパイラの実行時に NullPointerException が発生する可能性がありました。

この問題は、適合性チェックを追加して relationship-role-name が weblogic-rdbms-relation の中でユニークになるようにすることによって解決されました。

8.1 SP1

CR084768

ejbc は、フィールド グループまたはリレーションシップ キャッシュを宣言したがファインダに関連付けられていない (つまりまったく使用されない) 場合に警告メッセージをログに出力するようになりました。

8.1 SP1

CR090104

記述子にアイソレーション レベルを指定する EJB が実行時に例外を取得しました。問題は 2 つありました。1 つは、WebLogic Server が間違ったベンダ回避策をチェックしていたことです。つまり、supportsTxIsolationUponEnlistment ではなく supportsTxIsolation をチェックしていました。もう 1 つは、トランザクションがアクティブなときにアイソレーション レベルを設定する場合、データベース ベンダおよびドライバによってルールまたは動作が異なっていることでした。たとえば、WebLogic Server jDriver/XA for Oracle を使用する場合、アイソレーション レベルはトランザクション ブランチの作成時にしか設定できず、ブランチの結合または再開時には設定できません。

この問題は、コードの修正によって解決されました。

7.0 SP3

8.1 SP1

CR091352

4 レベルのリレーションシップ キャッシングで ejbc コード生成が失敗し、次のエラーが発生しました。

Found 4 semantic errors compiling "D:/labs/cluster70/src/com/bea/ps/cmr_orders/ejbcgen/com/bea/ps/cmr_orders/CustomerBean_1q1rpd__WebLogic_CMP_RDBMS.java": 789. if (__WL_bean__orderLines != null) <-------------------> *** Error: No entity named "__WL_bean__orderLines" was found in this environment. 791. __WL_bean__orderLines.__WL_add__WL_item_field_(__WL_eo); <-------------------> *** Error: "__WL_bean__orderLines" is either a misplaced package name or a non-existent entity. 1310. if (__WL_bean__orderLines != null) { <-------------------> *** Error: No entity named "__WL_bean__orderLines" was found in this environment. 1312. __WL_bean__orderLines.__WL_add__WL_item_field_(__WL_eo); <-------------------> *** Error: "__WL_bean__orderLines" is either a misplaced package name or a non-existent entity.

分析の結果、キャッシングが 3 レベルを超える場合、prevCmrFieldName 文字列の作成時に RDBMSCodeGenerator.java が余分な文字を削除していたことが判明しました。

この問題は、RDBMSCodeGenerator.java を修正したことで解決されました。

7.0 SP3

8.1 SP1

CR092202

WebLogic Server は、Bean のデプロイ時に Oracle シーケンスが存在することをチェックしませんでした。

この問題は、次の動作を追加したことで解決されました。

  • 作成または修正機能は非プロダクション モードでのみ機能する。

  • コンテナはシーケンスを削除しない。

  • コンテナは、シーケンスを作成する場合にそれを作成したという印を残す。 (このインジケータのフォーマットは <sequence-name>_created_by_webLogic)。

  • コンテナは、データベースにインジケータが存在するシーケンスだけを修正できる。

  • 開発モードでデプロイする場合、コンテナは <sequence-name> を検索し、発見した場合はそのシーケンスを使用する。それ以外の場合、コンテナは <sequence-name>_created_by_weblogic インジケータを検索します。

8.1 SP1

CR094629

CR098386

1 対 1 の CMR (同じトランザクションで作成) では、データベースの一貫性を確保するためにデータベース SELECT が発行されます。このデータベース SELECT は、適切な制約が設定されている場合には回避できます。

このデータベース SELECT は、__WL_CMR_isLoaded_ が true に設定されるようにコードを修正したことによって回避されるようになりました。このため、この Bean 状態が STATE_EJB_POSTCREATE の場合、データベース アクセスがスキップされます。この回避策ではデータベース チェックがスキップされるので、適切な制約を設定してデータベースを作成する必要があります。

この回避策は、現在の Bean と 1 対 1 の関係にある Bean をその ejbPostCreate メソッドの 1 つで作成し、Bean の作成メソッドの CMR フィールドが同じ CMP フィールドにマップされている CMP フィールドを使用して暗黙的に設定されている場合に限り適用できます。たとえば、親の主キーが子の CMR フィールドに埋め込まれているとします。CMR フィールドのセッターを使用する場合、コンテナはデータベース SELECT を使用します。

7.0 SP3

8.1 SP1

CR094871

O_ITEM table (ItemEnt) によって SPECjAppServer でデッドロックが発生しました。このデッドロックは、複数サーバ コンフィグレーションではなく単一サーバ コンフィグレーション用に使用されるデプロイメント記述子の場合にのみ発生しました。

このデッドロックは、読み取り検証 (verify-rows 機能) 用に使用された SQL 文について 2 つの異なるトランザクションの主キーの順序が異なっていることによって発生しました。

この問題は、コードを修正することで解決しました。

8.1 SP1

CR095141

重要な作業の実行中に CoreHealthMonitor が ExecuteThreadManager のロックを保持しているため、デッドロックが発生し、Administration Console がフリーズしました。コードの変更により、CoreHealthMontor は ExecuteThreadRuntimeMBean を使用してスタック スレッドのリストを取得し、ETM ロックが保持されている場合でも ExecuteThreadManager のすべての場所からログが出力されないようになりました。

7.0 SP3

8.1 SP1

CR095173

idle-timeout-seconds 要素では、ステートフル セッション Bean のパッシベーションを実行する (キャッシュから削除してディスクに書き込む) までの EJB コンテナの待機時間を指定します。またこの要素は、パッシベーションが実行された EJB をディスクから削除するまでの EJB コンテナの待機時間を指定するためにも使用します。しかし、ステートフル セッション Bean を idle-timeout-seconds より長い時間ディスクに保持しておきたい場合もあります。つまり、ステートフル セッション Bean のキャッシュ内でのアイドル時間とディスク上での存続時間を 2 つの異なる要素で指定したい場合があります。

WebLogic Server 7.0 Service Pack 3 には、session-timeout-seconds という新しい要素が追加されています。この要素を使用すると、アイドル状態のステートフル セッション Bean をディスクから削除するまでの EJB コンテナの待機時間を指定できます。この要素は、WebLogic Server 8.1 Service Pack 1 でも使用できます。

7.0 SP3

8.1 SP1

CR096800

WebLogic Server 6.1 が WebLogic Server 8.1 呼び出しに対して EJB 例外を送出すると、呼び出しはシリアライゼーション エラーを受け取りました。これは、WebLogic Server 6.1 に EJBException 用の誤ったシリアル バージョン ユニーク識別子 (SVUID) が付属していたためです。

WebLogic Server 8.1 SP1 は、WebLogic Server 6.x といつ会話するかを識別し、その接続を介して不正な SVUID を受信および送信します。8.1 に同梱のこれらの接続での回避策には誤りがありました。

7.0 SP3

8.1 SP1

CR097155

default-dbms-tables-ddl 機能にいくつかの問題がありました。

  • EJBCompiler の実行時に ddl ファイルが作成されなかった

  • 作成された ddl ファイルの配置場所が不明確だった

  • ddl ファイルが存在している場合、そのファイルが修正された

これらの問題は、コンパイル時に ddl ファイルが作成されるようにコードを修正したことによって解決されました。書き込み時の ddl ファイルの場所を示すメッセージが表示され、ddl ファイルが存在する場合は上書きされます。

8.1 SP1

CR098343

トランザクションが 2 つのサーバ インスタンスに分散されているときに JDBC 接続がプールに戻りませんでした。JDBC 属性 KeepXAConnTillTxCompletetrue に設定されていました。このイベント シーケンスにより、次の問題が発生しました。

    1. サーバ インスタンス 1 でユーザ トランザクションを開始します。

    2. JMS メッセージを永続キューに格納します。JMS サーバおよびキューはサーバ インスタンス 2 に存在します。

    3. サーバ インスタンス 2 で EJB を更新します。

    4. トランザクションをコミットします。

エラー メッセージは生成されませんでした。更新が実行され、メッセージが JMS キューに格納されました。しかし、EJB 接続プール内に「使用中」のままになっている接続が存在しました。この手順を何度も繰り返すと、接続プール内の接続が使い果たされてしまいました。

この問題は、トランザクションが単一のサーバ インスタンスで行われるか、または JMS メッセージがトランザクション スコープの外のキューに格納される場合には発生しませんでした。

この問題は、aftercompletion コールバックで接続が解放されるようにコードを修正したことで解決されました。

6.1 SP6

8.1 SP1

CR098548

Bean がオプティミスティックな同時実行性を使用し、Blob/Clob DBMS カラムにマップされるフィールドを持ち、タイムスタンプとバージョン カラムが指定されていない場合に Blob Clob が破損する可能性があることを示す準拠警告が追加されました。この警告では、タイムスタンプまたはバージョン カラムを追加するように指示されます。

8.1 SP1

CR098798

EJB コンパイラがトランザクション属性設定、アイソレーション レベル設定、メソッド パーミッション設定、または多重呼び出し不変メソッド設定で指定されたメソッドを発見できなかった場合、生成されたエラー メッセージに発見できなかったメソッドの EJB が示されませんでした。

エラー メッセージを拡張してこの情報が含まれるようにしました。

8.1 SP1

CR100010

期限切れになった license.bea ファイルによって、EJB をデプロイしようとするときに、ライセンスの問題を示す例外ではなく NullPointerException が発生しました。

この問題は、ライセンス チェック後にデプロイメントが試行されないように、およびメッセージでライセンス問題が報告されるようにコードを修正したことによって解決されました。

8.1 SP1

CR100719

Appc は基盤モジュール コンパイラを呼び出すときに alt-dd 記述子を考慮しませんでした。このリリースでは、モジュール コンパイラは alt-dd 記述子が EAR の application.xml 記述子に定義されている場合、その記述子を使用します。また、アプリケーションレベルの alt-dds をサポートするコマンドライン オプションが appc に追加されました。

8.1 SP1

CR100822

パフォーマンスを最適化するために、クラスタ化メッセージ駆動型 Bean の動作が変更されました。旧バージョンでは、MDB が JMS に接続されている場合に標準のクラスタ ロードバランシング アルゴリズムしか使用されず、JMS 接続のロードバランシングはクラスタ内で行われました。

この動作が拡張され、MDB はその JMS 接続を、Bean が受け取る接続が含まれているメッセージをホストしている JVM に送ります。この結果、リソースにアクセスしているときに MDB によって行われるホップの数が減ります。

7.0 SP3

8.1 SP1

CR100890

ejbc は、許容できる UNICODE 名の EJB QL 識別子を認識するようになりました。ejbc は、識別子に標準以外の文字が使用されている場合に警告を生成しますが、それらの文字は使用できます。標準以外の文字を識別子で使用し続けると、アプリケーションを J2EE コンテナ間で移植できなくなる場合があります。

8.1 SP1

CR101248

CMP Bean が JDBC 接続プールをリークしました。この問題は、ejbFindByPrimaryKey()releaseResources() を呼び出したときに発生しました。

RDBMSCodeGenerator が変更されたことで、ResumeTransaction が失敗した場合、JDBC 接続リークを防ぐためにリソースが解放されるようになりました。この変更で問題は解決されています。

7.0 SP3

8.1 SP1

CR101446

EJB コンパイラが、メソッドを final として不正に宣言するインタフェースを生成する場合がありました。

この問題は、final 修飾子を使用してインタフェース メソッドが宣言されないようにコード ジェネレータを修正することで解決されました。

8.1 SP1

CR102308

Administration Console で、エンティティ Bean の待機について不正確な値が報告されました。

この問題は、waiterCurrentCount 属性を追加したことで解決されました。この属性は、クライアントでロック待機を開始するときにインクリメントされ、ロックが取得されるかクライアントがタイムアウトになったときにデクリメントされます。

6.1 SP6

8.1 SP1

CR102565

不正確な javac CLASSPATH によって、appc でコンパイル エラーが発生しました。この問題は、EJB クラスのあるバージョンがシステム CLASSPATH に存在し、異なるバージョンが JAR ファイルに存在する場合に特に発生する可能性がありました。また、この問題は appc 以外のコンパイラにも影響することがありました。

この問題は、appc 呼び出しについて、システム CLASSPATH の JAR ファイルの順序が間違っていたために発生しました。

この問題は、javac に渡される CLASSPATH の中で、コンパイルされる JAR ファイルのパスの前にシステム CLASSPATH が表示されるようにコードを修正することによって解決されました。

8.1 SP1

CR103108

long 型の EJB 実行時数は同期されず、実行時数の結果が破損したり不正確になったりしていました。

この問題は、コードを修正することで解決しました。

8.1 SP1

CR103226

CMP のリレーションシップ キャッシングが SQLServer 2000 でサポートされるようになりました。

SQL Server 2000 を使用する SPECjAppServer 2002 でのネストされたリレーションシップ キャッシングでは、次の SQL Server 2002 エラーが発生しました。

java.sql.SQLException: [BEA][SQLServer JDBC Driver][SQLServer]Query contains an outer-join request that is not permitted.

この問題は、複数のデータベース タイプを処理するように外部結合構文を変更し、weblogic-rdbms-jar ファイルに <database-type> タグを追加したことで解決されました。このタグは、基盤となる DBMS のデータベース タイプを示します。SQL Server 2000 の場合、<database-type> を SQLServer2000 として指定します。

注意 : SQL Server 7 は、<database-type> タグで SQLServer として指定する必要があります。

8.1 SP1

CR103393

CMP コード ジェネレータのバグにより、CMP フィールドが CMR フィールドの場合に生成されたコードがコンパイルしなくなりました。具体的には、配列が無効なインデックス (インデックスが null) でアクセスされました。この問題はまれであり、EJB コンパイラが呼び出されるときにのみ発生しました。

この問題は、コード ジェネレータが常に有効な配列インデックスを使用するようにコードを修正することによって解決されました。

8.1 SP1

CR103341

Oracle シーケンスを使用する CMP Bean 用の便利な機能が追加されました。<create-default-dbms-tables> タグが、開発モードで使用されているシステム上の Oracle シーケンスで動作するようになっています。

8.1 SP1

CR104046

delay-database-insert-untilCommit に設定されている場合、「マルチテーブル」Bean の作成時にオプティミスティックな同時実行性バージョン カラムが初期化されませんでした。コードが変更され、RDBMSCodeGenerator.perhapsAssignOptimisticField() は CMP Bean がマップされるすべてのテーブルのバージョン カラムを設定する生成済みコードを返すようになりました。


CR104256

いずれかの主キー フィールドの値が Java プリミティブであり、それらの主キー フィールドの値のいずれかがそのフィールド タイプのデフォルト値に設定された場合に CMP Bean の作成が失敗していました。例えば、ある Bean に Java プリミティブである「int」型の主キー フィールドがあり、その値が「0」の場合、CMP Bean の作成は失敗しました。

CMP コンテナでは、主キー フィールドの Java プリミティブのデフォルト値の設定が認識され、EJB の作成が進行するようになりました。これで、コンテナのバグは修正されます。副作用はありません。

8.1 SP1

CR104610

デフォルトでは appc は新しいコンパイル プロセスを生成します。一部のケース (大規模な EAR など) では、このプロセスで正常にコンパイルを実行するために大量のメモリを JVM ヒープに割り当てる必要があり、java.lang.OutOfMemoryError が発生する場合がありました。

この問題は、-J オプションを wlappc Ant タスクの runtimeFlags オプションに追加したことで解決されました。この結果、新しいプロセスにメモリ サイズを渡せるようになりました (runtimeFlags="-J-ms64m -J-mx256m" など)。また、appc のデフォルトが「inline compilation」に変更されました。この結果、appc ではデフォルトでコンパイル用に新しいプロセスが生成されなくなりました。

次に、WebLogic Server 8.1 GA のコード例を示します。

<wlappc forceGeneration="true" compiler="javac" runtimeFlags="-ms64m" lineNumbers="true" verbose="true" debug="true" keepgenerated="true" source="${dist-dir}/ejb_${name}.jar"> <classpath refid="ejbc-classpath"/> </wlappc>

8.1 SP1 では次のようになります。

<wlappc forceGeneration="true" compiler="javac" runtimeFlags="-J-ms64m" lineNumbers="true" verbose="true" debug="true" keepgenerated="true" source="${dist-dir}/ejb_${name}.jar"> <classpath refid="ejbc-classpath"/> </wlappc>

8.1 SP1

CR104979

この変更は、次の Bean タイプの EJB コールバック メソッドに影響を与えます。

  • ejbCreateejbRemove - ステートレス セッション Bean およびメッセージ駆動型 Bean。

  • ejbPassivate - ステートフル セッション Bean (キャッシュ タイムアウトが原因で ejbPassivate が呼び出された場合)

これらのメソッドが呼び出されたときにアクティブであるセキュリティ プリンシパルは、以下のいずれかが実行された場合を除いて anonymous になります。

    1. run-as ロールが指定されている Bean の場合、run-as プリンシパルを指定するためのルールに従って run-as プリンシパルが指定された場合。この場合、run-as プリンシパルがアクティブになります。

    2. Bean がこのサービス パックで新規の場合。<create-as-principal-name><remove-as-principal-name>、または <passivate-as-principal-name> が対応する EJB コールバック メソッドに対して指定され、指定されたプリンシパルが EJB コールバック メソッド中にアクティブになります。

このメソッドで指定されたプリンシパルは、上記の (1) で指定された、より一般的な run-as ロール プリンシパル割り当てに優先します。

これらの EJB コールバックの一部として実行される操作で anonymous 以上のパーミッションが必要な場合、上記の (1) または (2) を使用して適切なプリンシパルを設定する必要があります。

8.1 SP1

CR107455

読み取り専用 Bean を使用した場合、OutOfMemoryErrors が発生しました。

この問題は、lastLoadMap で同じ Bean に対する複数の重複エントリが作成されるために発生していました。重複エントリは、lastLoadMapcache.get() 呼び出しによって初期化されているにもかかわらず、getBeanFromRS() での不要な initLastLoad() の呼び出しによって作成されていました。

この問題は、不要な initLastLoad() 呼び出しを削除したことで解決されました。

8.1 SP1

インストール

変更要求番号

説明

問題が修正されたリリース

CR098373

WebLogic Server インストーラで、製品のインストールに必要なディスク スペースが足りないことが判明してもインストーラを終了できませんでした。代わりに、別のディレクトリを指定するためのオプションが表示されるだけでした。

この問題は、製品のインストールに必要なスペースが足りないことが判明したときにインストーラを終了するためのオプションを追加したことで解決されました。

8.1 SP1

CR101452

JDK ディレクトリの名前が config.cmd および config.sh スクリプトでハードコード化されていました。

この問題は、ハードコード化された JDK ディレクトリを %JAVA_HOME%\bin\java および %JAVA_HOME%\bin\javaw に置き換えたことで解決されました。

8.1 SP1

インターナショナライゼーション

変更要求番号

説明

問題が修正されたリリース

CR099768

コマンドラインで指定したカタログに翻訳が存在しない場合、l10ngen が突然終了し、その理由を示すエラー メッセージが表示されません。

この問題は、どのカタログにも翻訳が存在しない場合に警告が発行されるようにコードを修正したことで解決されました。いずれかのカタログに翻訳が存在する場合、その翻訳は処理されますが、翻訳がないカタログに対して警告は発行されません。

8.1 SP1

CR102646

I18N メッセージ ファイルを WebLogic Server メッセージ カタログに変換しようとした場合、Loggable クラスを使用すると (対応するメッセージではなく) 次のようなエラーがサーバ ログに書き込まれます。

<Apr 1, 2003 1:31:35 PM PST> <Error> <Unknown> <000000> <Unable to access undefined message, id=900017>

この問題は、Loggable クラスがメッセージ ID に基づいてメッセージ カタログ クラス名をルックアップしようとしたが、クラスローダに問題がある場合は適切に動作しないために発生しました。

この問題は、メッセージ カタログ クラス名が Loggable クラスのコンストラクタに渡されるようにコードを修正したことで解決されました。

8.1 SP1

CR107052

InternalRequestDispatcher の応答に含まれるインターナショナライゼーション文字が、文字セットを使用せずに文字列の内容が作成されたために文字化けを起こしていました。

この問題は、適切な文字セットで文字列を作成し、文字列が適切なエンコーディングで表示されるようにすることで解決しました。この変更で副作用は生じないはずです。

8.1 SP1

J2EE

変更要求番号

説明

問題が修正されたリリース

CR091939

weblogic.Deployer では、アプリケーションは常に一緒にデプロイされたデプロイメント記述子を使用します。このため、-redeploy フラグでアプリケーションを再デプロイした場合、デプロイメント記述子を変更できませんでした。デプロイメント記述子を変更できるのは、-undeploy フラグを最初に使用した場合だけでした。

この問題は、更新時にデプロイメント記述子を切り替えることができるようにコードを修正したことで解決されました。-redeploy フラグの動作は、-undeploy に続けて -redeploy を実行した場合と同じになりました。

8.1 SP1

CR096215

WEB-INF/web-services.xml デプロイメント記述子を含む war ファイルが appc でコンパイルされる場合、関連する Web サービス準拠性がチェックされるようになりました。この新しいチェックは、開発時にアプリケーション エラーをより迅速に発見できるようにするために追加されたものです。

8.1 SP1

CR098671

分割ディレクトリ EAR がモジュールレベルの alt-dd デプロイメント記述子でデプロイできませんでした。

この問題は、コードを修正することで解決しました。モジュールレベルの alt-dd デプロイメント記述子の詳細については、『WebLogic Server アプリケーションの開発』の「エンタープライズ アプリケーションのデプロイメント記述子の要素」の「module」の表を参照してください。

8.1 SP1

CR101002

application.xml ファイルで定義されたセキュリティ ロールで EAR がデプロイされたが、対応する security-role-assignment エントリが weblogic-application.xml に存在しない場合、これらのセキュリティ ロールはデプロイされたエンタープライズ アプリケーションを WebLogic Server Administration Console で右クリックして [ロール スコープを定義...] を選択しても表示されませんでした。

この問題は、weblogic-application.xml に割り当てが存在しない場合でも、application.xml で定義されたすべてのセキュリティ ロールが Administration Console で表示されるようにコードを修正したことで解決されました。

8.1 SP1

CR102293

wlcompile は、ネストされた javac 要素をサポートします。これを使用すると、javac でフラグを指定できます。たとえば、次のような非推奨の警告を javac で指定できます。

<wlcompile srcdir="${srcdir}" destdir="${destdir}">

<javac deprecation="true" />

</wlcompile>

8.1 SP1

CR102306

wldeploy コマンドはアプリケーション レベルの alt-dd デプロイメント引数をサポートしませんでした。この引数を使用するとビルド エラーが発生しました。

この問題は、アプリケーションレベルの alt-dd デプロイメント引数用の wldeploy をサポートしたことで解決されました。この結果、分割ディレクトリ EAR はアプリケーションレベルの alt-dds でデプロイできるようになりました。

8.1 SP1

CR105317

次のようにコマンドラインでプリプロセッサ名を指定する場合、クラス名の前後のスペースがクラス名の一部として解釈されるため、本来適切なクラス名が見つかりませんでした。

-Dweblogic.classloader.preprocessor="com.dirig.preprocessor.DirigBEAClassProcessor, ppclass.MyPP1 ,ppclass.MyPP2 "

この問題は、このスペースがクラス名の一部として解釈されないようにしたことで解決されました。

8.1 SP1

JDBC

変更要求番号

説明

問題が修正されたリリース

CR090255

付属の Oracle Thin ドライバ バージョン 9.2.0.2 を使用した場合、addBatch および setNull メソッドでデータ変換が必要なときに NullPointerException が発生しました。

この問題は、Oracle Thin ドライバ バージョン 9.0.2.3 に更新したことで解決されました。

8.1 SP1

CR090365

CR090366

付属の Oracle Thin ドライバ バージョン 9.2 を使用した場合、同じテーブルに BLOB と long の行が一緒に存在できませんでした。次の例外が発生しました。

java.sql.SQLException: Protocol violation

この問題は、Oracle Thin ドライバ バージョン 9.0.2.3 に更新したことで解決されました。

8.1 SP1

CR092453

WebLogic Server 6.1 SP04 で、Oracle Thin XA と Oracle 9.2 の CLASSES12.zip を使用した場合、EJB を呼び出すステートレス セッション Bean によって「Configuration Changes saved to the repository」というメッセージが表示されて XAER_PROTO が発生しました。

START SLEEP 2: After updating the value to 1...
DONE SLEEP 2: After updating the value to 1...
START SLEEP 2: After updating the value to 2...
DONE SLEEP 2: After updating the value to 2...
START SLEEP 2: After updating the value to 3...
DONE SLEEP 2: After updating the value to 3...
START SLEEP 2: After updating the value to 4...
DONE SLEEP 2: After updating the value to 4...
START SLEEP 2: After updating the value to 5...
DONE SLEEP 2: After updating the value to 5...Current value is 5
<
Dec 6, 2002 10:26:59 PM MST> <Info> <Management> <Configuration changes for domain saved to the repository.>SQLException -- XA error: XAER_PROTO : Routine was invoked in an improper context start() failed on resource 'OracleXA' null Current value is 0

この問題は、Oracle クライアント 9.2.0.[01] の確認済みの問題によって発生したものですが、これは 9.2.0.2 で解決されています。9.2.0.[01] の問題を回避するために、WebLogic Server のコードが変更されました。

6.1 SP5

8.1 SP1

CR094729

JDBCConnectionPoolRuntimeMBean.getStatementProfiles メソッドで、対象とする MBean インスタンスの poolName を使用して結果をフィルタ処理できませんでした。getStatementProfiles メソッドを呼び出した場合、トレースが有効化されているすべての接続プールの文が結果に含まれました。これは、JDBCConnectionPoolRuntimeMBean インスタンスが単一の接続プールに固有のものであるため正しくありませんでした。

この問題は、JDBCConnectionPoolRuntimeMBean.getStatementProfiles メソッドを修正し、対象とする MBean インスタンスに対して poolName で結果が正確にフィルタ処理されるようにしたことで解決されました。

7.0 SP3

8.1 SP1

CR099872

Exception during commit of transaction スタック トレース例外のメッセージに接続プール名が含まれていますが、データ ソース名が含まれていませんでした。

<Exception during commit of transaction Xid=39:74a54046e2c2bb30(5962554),Status=Rolled back.[Reason=ja vax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a participant in two-phase commit.To force this participation, set the EnableTwoPhaseCommit property on the corresponding JDBCTxDataSource property, to true.Pool = CatPhase1] ...

スタック トレースの内容を拡張して、データ ソースの名前が含まれるようにしました。

6.1 SP6

8.1 SP1

CR100877

JTS ドライバが、単一サーバの SpecJAppServer の実行中にリモート接続を行おうとしました。

この問題は、トランザクション用のデータベース接続がすでに開いており、トランザクションがタイムアウトになってロールバックされたときに getConnection メソッドが再び呼び出された場合にのみ発生しました。また、この問題には以下の特性がありました。

  • まれにしか発生しない

  • アプリケーションの動作にはまったく影響を与えない

  • ロールバック競合状態によって発生する

  • パフォーマンスを低下させる可能性がある

この問題は、リモート接続の前にトランザクション ステータスがチェックされるようにコードを修正したことで解決されました。

8.1 SP1

CR101419

クラスタ内の DataSource および TxDataSource のフェイルオーバが機能しませんでした。

この問題は、DataSource と TxDataSource がクラスタ化可能としてビルドされなかったために発生したもので、クラスタ化可能としてビルドしたことで解決されました。

8.1 SP1

CR101709

DB ベンダ (Oracle など) は、新しいローカル トランザクションの中で SQL DDL 操作を実行します。しかし、接続の AutoCommit フラグが false に設定されている場合 (WebLogic Server
TxDataSource から接続が取得される場合と同じ)、ローカル トランザクションがコミットされず、接続でアクティブなままになりました。

Oracle 9.2.0 Thin Driver を使用して実行している場合、この接続で実行される後続の XA 操作が現在アクティブなローカル トランザクションのために失敗し、XAER_PROTO エラーとなりました。これは、このバージョンで起動した場合、Oracle Thin ドライバは接続オブジェクトに対して XA 操作を実行するよう要求されたときにアクティブなローカル トランザクションが存在するかどうかをチェックしたためです。

WebLogic Server は、接続が WebLogic Server JDBC 接続プールに返されるときに、その接続上のアクティブなローカル トランザクションをロールバックすることで問題を回避できるようになりました。この防御動作を有効にするには、新しい WebLogic Server JDBC 接続プール属性である RollbackLocalTxUponConnClose を true に設定します。

8.1 SP1

CR101822

Oracle Thin Driver 用のアイソレーション レベルを Connection.TRANSACTION_READ_COMMITTED に設定しようとすると、アイソレーション レベル 2 をマップできないことを示す例外が生成されました。

このアイソレーション レベルは適切に認識されて Oracle ドライバに渡されるようになりました。

8.1 SP1

CR102364

Informix JDBC 接続プールの作成後に Administration Console の [テスト] タブの [プールのテスト] ボタンをクリックすると、次のエラーが発生しました。

<Error> <JDBC> <BEA-001112> <Test "select count(*) from ITEMS" set up for pool "informixPool" failed with exception: "java.sql.SQLException: Database not selected yet.".>

<Error> <JDBC> <BEA-001111> <Unable to verify the test "select count(*) from ITEMS" set up for pool "informixPool".Connections will not be tested.>

注意 : この問題は、一部の Informix コンフィグレーションのみで発生しました。

この問題は、Informix JDBC 接続プールのコンフィグレーションが適切に機能するようにコードを修正したことで解決されました。

8.1 SP1

CR102698

weblogic.Admin CREATE_POOL で接続プールを作成しようとすると、次の例外が発生しました。

./wlg-create-pool.sh No permission to create ConnectionPool Start server side stack trace: weblogic.common.ResourceException: No permission to create ConnectionPool at weblogic.jdbc.common.internal.JDBCService.createPool(Ljava.util.Properties;Lweblogic.secur ity.acl.internal.AuthenticatedSubject;)V(Unknown Source) at weblogic.jdbc.common.internal.ConnectionPool.createPool(Ljava.util.Properties;Lweblogic.se curity.acl.internal.AuthenticatedSubject;)V(Unknown Source) at ...

調査の結果、WebLogic Server が非推奨の aclName を属性として要求していたことが判明しました。コードを修正して問題は解決されました。

7.0 SP3

8.1 SP1

CR103321

JDBCConnectionPoolRuntimeMBeangetConnectionsTotalCount() メソッドが期待どおりに動作しませんでした。インスタンス化以降のプール内の JDBC 接続の総数を返す代わりに、インスタンス化以降の最大接続数を返しました。

この問題は、メソッド コードの修正によって解決されました。

8.1 SP1

CR104103

RowSet が CLOB カラムを XML にシリアライズできず、次のような例外が発生しました。

java.io.IOException: No XML Schema type mapping found for JDBC type: 2005

この問題は、CLOB が XML スキーマ タイプに適切にマップされるようにコードを修正したことで解決されました。

8.1 SP1

CR104522

CachedRow.containsKey(Object) メソッドが常に反転値を返しました。

この問題は、コードを修正することで解決しました。

8.1 SP1

CR104523

DatabaseMetaData.getDriverVersion() が古いバージョン文字列を返しました。コードを修正して問題は解決されました。

7.0 SP3

8.1 SP1

CR107609

RowSet が (外部から設定されるのではなく) DataSource 自身をルックアップする必要がある場合、アプリケーションによってユーザ名とパスワードが強制的に設定されました。

これは、RowSet のクリーンアップ処理に問題があるためでした。JNDI 資格の使用時に発生するセキュリティ チェックにより、場合によってパフォーマンスが約 40% も低下しました。

この問題は、クリーンアップ処理の問題を修正したことで解決されました。

8.1 SP1

CR108006

単一のトランザクション中にリモート アプリケーションで複数のトランザクション (JTS) JDBC 接続が使用された場合、任意の接続が閉じられた後で別の接続が使用されたときにリモート クライアントで NullPointerException が発生することがありました。

この問題は、同じ JTS トランザクション中のすべての RMI 接続が同じ基盤 JTS 接続を表す必要があるのに、誤った最適化が追加され、トランザクション中の複数の接続リクエストに対して同じ RMI 接続が提供されたために発生しました。これらのいずれかを閉じると、独立した別個のものだとアプリケーションが考えたものも閉じられました。

これを解決するために、最適化を削除し、常に別個の RMI 接続を特定の JTS トランザクション内の別個のリモート接続リクエストに返すようにしました。

8.1 SP1

JMS

変更要求番号

説明

修正されたリリース

CR097038

CR102656

ソース JMS ブリッジ送り先がメッセージング ブリッジと同じ WebLogic Server 8.1 ドメインで動作していない場合、ドメイン間にセキュリティの信頼関係を確立する必要がありました。確立しない場合は、メッセージング ブリッジを同期モードで動作するようにコンフィグレーションする ([非同期モードを有効化] を無効にする) 必要がありました。

この問題は修正されており、非同期モード通信の使用時にも信頼性のないドメインが機能するようになりました。

7.0 SP3

8.1 SP1

CR098280

XAQueueConnection または XATopicConnection オブジェクトを使用して非 XA セッションを作成するときのセッション作成メソッドの動作が変更されました。この変更の前は、次のように動作していました。

  • XAQueueConnection.createQueueSessionXAQueueSession を作成する

  • XATopicConnection.createTopicSessionXATopicSession を作成する

両方の場合で、ユーザ指定の確認応答モードとトランザクション化フラグが無視され、AUTO_ACKNOWLEDGE モードと false のトランザクション化設定が代わりに使用されていました。

新しい動作では、XAQueueConnection.createQueueSession メソッドと XATopicConnection.createTopicSession メソッドが次のように QueueConnection および TopicConnection の対応するメソッドとまったく同じように動作します。

  • QueueConnection.createQueueSessionQueueSession を作成する

  • TopicConnection.createTopicSessionTopicSession を作成する

  • XAQueueConnection.createQueueSessionQueueSession を作成する

  • XATopicConnection.createTopicSessionTopicSession を作成する

さらに、ユーザ指定の確認応答モードとトランザクション化フラグの設定がこれら 4 つのメソッドのそれぞれで尊重されます。

上記 4 つの接続メソッドは、接続ファクトリで XAServerEnabled フラグが有効になっている場合は動作が異なります。このフラグが有効になっている場合、4 つのメソッドすべてにおいて、サーバで呼び出された場合は XAQueueSession (または XATopicSession) セッションが作成され、クライアントで呼び出された場合は非 XA QueueSession または TopicSession セッションが作成されます。作成されたセッションはユーザ指定の確認応答モードは尊重しますが、XA をサポートするのでトランザクション化フラグは無視します。

以前のバージョンの WebLogic Server では、XAConnectionFactoryEnabled フラグを有効にして接続ファクトリから作成された接続オブジェクトが、XAQueueConnection オブジェクトや XATopicConnection オブジェクトであるかのように動作していました。新しく動作が変更されて、接続ファクトリを明示的に XAQueueConnectionFactory または XATopicConnectionFactory にキャストして createXA メソッドの 1 つを呼び出さない限り、この動作は見られなくなりました。

この変更の前には、接続ファクトリで XAConnectionFactoryEnabled フラグを設定した場合、接続ファクトリを XA 接続ファクトリ クラスの 1 つにキャストしていない場合でも、createQueueSession および createTopicSession とは異なる動作が確認されていたはずです。

7.0 SP3

8.1 SP1

CR098975

分散送り先をアンデプロイした後で WebLogic Server が起動に失敗することがありました。このエラーは、分散メンバーおよび分散送り先自体を削除して、基底の物理的送り先を削除しない場合に発生していました。Administration Console で次のような操作を行ったときに、この問題は発生していました。

    1. 分散送り先の [コンフィグレーション|メンバ] タブで、ごみ箱アイコンをクリックしてメンバーを削除します。

    2. プロンプトが表示されても、メンバーの基底の物理的送り先は削除しません。

    3. [削除] をクリックしてメンバーを削除します。

    4. 必要に応じて、分散送り先のすべてのメンバーを続けて削除します。

    5. 分散送り先を削除します。

この時点でサーバを停止すると、そのサーバを再起動できなくなりました。

この問題は、ドメイン レベルで分散送り先の JMS テンプレートを作成することで解決しました。これで、ユーザが分散送り先メンバーを削除しても、そのメンバーで表される基底の物理送り先を削除しない場合にテンプレートが削除されなくなります。このようにして、WebLogic Server の起動時に、物理送り先が参照する JMS テンプレートがまだ存在しているので、起動が失敗しなくなります。

8.1 SP1

CR100663

サーバで JMS メッセージをトレースする新しいデバッグ フラグ「DebugJMSMessagePath」が追加され、デバッグ メッセージがさらに追加されました。新しい DebugJMSMessagePath フラグを有効にすると、サーバ内部の JMS メッセージが追跡され、そのメッセージのパスを知らせるデバッグ メッセージが JMSMessageID (利用できる場合) と共にログに記録されます。

このフラグは、以下のように 2 通りの方法で有効にできます。

  • config.xml の場合

<ServerDebug
Server="name of the server"
DebugJMSMessagePath="true"
/>

  • サーバの起動コマンドラインの場合

-Dweblogic.Debug.DebugJMSMessagePath=true

8.1 SP1

CR101076

-Dweblogic.Debug.DebugMessagingBridgeRuntime が true に設定されているときにすべての JMS ヘッダ属性がログに記録されるようにメッセージング ブリッジが拡張されました。

8.1 SP1

CR101298

長い時間アイドル状態の JMS JDBC 接続が「bad」とマークされた場合に (たとえばファイアウォールの存続期間が切れた場合など)、JMS はその「bad」接続を使用しようとして失敗していました。この失敗は、チューニング パラメータに応じて、すぐ復帰するか、8 ~ 10 分以上かかることがあります。

この問題は、JMS がアイドル状態の場合に、接続を維持するためにデータベースに対して 5 分おきに ping を実行するようにコードを修正して解決されました。

7.0 SP3

8.1 SP1

CR101585

JMS クライアント セッションがコミットまたは確認応答されない場合に、メモリ リークが発生していました。この問題は、確認応答されていないメッセージが存在する場合にロールバックと回復を適切に処理することで解決されました。

8.1 SP1

CR101594

WebLogic Server のライセンス ファイルにコンフィグレーション済みで WebLogic Server インスタンスをターゲットとした JMS および JMS サーバのライセンスが含まれていない場合、サーバは JMS サーバなしで起動しましたが、その JMS サーバが起動できない理由がサーバのログ ファイルに記録されませんでした。

この問題は、この場合のエラーをログに記録することで解決されました。

8.1 SP1

CR101804

Administration Console で JMS サーバの対象を「none」に設定して JMS サーバをアンデプロイし、対象を元の WebLogic Server インスタンスに戻して JMS サーバを再デプロイすると、NullPointerException が発生し、再デプロイが失敗していました。この問題は、JMS テンプレートが使用されていたときにより高い確率で発生していました。

この問題は解決されています。

8.1 SP1

CR102234

サーバが強制停止されたときに ASSERTION FAILED メッセージがブリッジ サーバ ログに出力されていました。

この問題は、いずれかの接続が破棄されてプールから削除されている可能性があるときに、ブリッジ アダプタ コードがソース接続と対象接続の両方を閉じたことが原因で発生していました。

この問題は、無効な接続を閉じないようにブリッジ アダプタ コードを修正することで解決しました。

8.1 SP1

CR102284

JMSHelper 拡張メソッドのパフォーマンスが改善されました。

8.1 SP1

CR102649

アプリケーションが JMS 接続プーリングを使用し、セッションが ejbCreate() で開き、ejbRemove() で閉じた場合に、エラー [J2EE:160054] と [J2EE:160062] が頻繁に発生していました。

この問題は、トランザクションが完了する前に EJB がプールに戻され、JMS セッションがまだ古いトランザクションと関連付けられていることが原因で発生していました。この問題は解決されています。

8.1 SP1

CR102656

信頼性のないドメイン間の非同期メッセージでメッセージング ブリッジを使用すると、セキュリティ エラー メッセージが生じていました。

この場合に使用できるセキュリティ資格でそれらのドメイン間のメッセージの引き渡しを処理するようにコードが修正されました。

8.1 SP1

CR102749

JMS JDBC ストアは、時間が経つと恒久サブスクリプションを削除していた可能性があります。恒久サブスクリプションの記録が誤って削除された場合は、関連するメッセージも WebLogic Server の次の再起動で削除されていました。

この問題は、ハンドル値のラッピングで既存のハンドルが使用されないように恒久サブスクリプションのハンドルを追跡することで修正されました。

8.1 SP1

CR103375

サーバを停止すると、次の例外が送出されていました。

weblogic.jms.common.JMSException: Failed to remove temporary destination because JMSServer is shutdown or suspended ...

この問題は、サーバが停止の状態にあるときに一時的な送り先の削除が試行され、それらの試行が完了できないことが原因で発生していました。

この問題は、サーバの停止時に一時的な送り先の削除が試行されるときに JMSException が送出されず、一時的な送り先が正常に削除されるようにコードを修正することで解決しました。

8.1 SP1

CR105337

負荷のかかっている状態で、テスト JMS アプリケーションが次の例外に遭遇していました。

java.lang.OutOfMemoryError weblogic.jms.common.TransactionRolledBackException: at weblogic.jms.backend.BEConsumer.expireTimeout(BEConsumer.java:1620) at weblogic.jms.backend.BEXATranEntryBlockingConsumer.startRollback(BEXATranEntryBlockingConsumer.java:72) at weblogic.jms.backend.BEXAResource.rollback(BEXAResource.java:1205) at weblogic.transaction.internal.ServerResourceInfo.rollback(ServerResourceInfo.java:1400) at weblogic.transaction.internal.ServerResourceInfo.rollback(ServerResourceInfo.java:664) at weblogic.transaction.internal.ServerSCInfo.startRollback(ServerSCInfo.java:365) at weblogic.transaction.internal.ServerTransactionImpl.localRollback(ServerTransactionImpl.java:1521) at weblogic.transaction.internal.ServerTransactionImpl.globalRollback(ServerTransactionImpl.java:2142) at weblogic.transaction.internal.TransactionImpl$1.execute(TransactionImpl.java:1656) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:211) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:198) weblogic.jms.common.JMSException: Only one thread may use a JMS Session at a time. at weblogic.jms.frontend.FESession.rollbackAfterRecover(FESession.java:1773) at weblogic.jms.frontend.FESession.recover(FESession.java:1373) at weblogic.jms.frontend.FESession.invoke(FESession.java:2253) at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:609) at weblogic.jms.dispatcher.DispatcherImpl.dispatchSyncNoTran(DispatcherImpl.java:339) at weblogic.jms.client.JMSSession.recoverGuts(JMSSession.java:868) at weblogic.jms.client.JMSSession.rollback(JMSSession.java:632) at com.ncr.crm.framework.jms.DefaultJmsQueueReceiver.rollback(DefaultJmsQueueReceiver.java:184) at com.ncr.crm.framework.jms.DemoMessageConsumer.run(JmsMemoryLeakDemo.java:163) at java.lang.Thread.run(Thread.java:479) ----------- Linked Exception ----------- weblogic.jms.common.JMSException: Only one thread may use a JMS Session at a time. at weblogic.jms.frontend.FESession.recover(FESession.java:1219) at weblogic.jms.frontend.FESession.invoke(FESession.java:2253) at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:609) at weblogic.jms.dispatcher.DispatcherImpl.dispatchSyncNoTran(DispatcherImpl.java:339) at weblogic.jms.client.JMSSession.recoverGuts(JMSSession.java:868) at weblogic.jms.client.JMSSession.rollback(JMSSession.java:632) at com.ncr.crm.framework.jms.DefaultJmsQueueReceiver.rollback(DefaultJmsQueueReceiver.java:184) at...

調査の結果、リンクされた長いリストを扱うときに WebLogic JMS ガベージ コレクション機能でメモリの再生が遅いことが判明しました。リストを分割するようにコードが修正されました。この変更で問題は解決されています。

7.0 SP3

8.1 SP1

CR105403

スタンドアロン サーバに MDB をデプロイしようとしたときに、ライセンスに「クラスタ化された JMS」コンポーネントがない場合にデプロイメントが失敗します。ライセンスのチェックが修正されました。

8.1 SP1

JNDI

変更
要求
番号

説明

問題が修正されたリリース

CR091837

一部の顧客では、送り先サーバが利用不能になった場合に RMI スタブがフェイルオーバする時間に問題がありました。この時間は、オペレーティング システムとそのバージョンによって異なっていました。

この問題は、クライアントからのソケット作成があまりにも時間がかかって失敗できないことが原因で発生していました。

この問題は、-Dweblogic.client.socket.ConnectTimeout フラグを用意することで解決しました。このフラグは、Socket.connect() メソッドのタイムアウトを秒単位で設定するものです。

8.1 SP1

CR101433

JNDI 結果のシリアライゼーションでデッドロックが発生していました。

この問題は、(初期コンテキストの作成に使用される) 環境引数の含まれるハッシュテーブルが複数のスレッドで共有されていることが原因で発生していました。

この問題は、Sun のバグの解決策を使用することで解決しました。その解決策では、ハッシュテーブルが複数のスレッドで共有されないように環境引数の含まれるハッシュテーブルを複製します。

8.1 SP1

CR103711

1 フェーズのデプロイメントがアプリケーションで使用される場合に、そのアプリケーション内からのすべての ejb-ref ルックアップで JNDI ルックアップが生じていました。パフォーマンス向上のために、現在では ejb-ref 値がキャッシュされます。

8.1 SP1

CR105462

WLInitialContextFactory を通じて新しい初期コンテキストを取得してから、それを繰り返し閉じるときに、JNDI クライアントでメモリ リークが発生し、メモリ不足例外が送出されていました。

この問題は、TransactionHelper クラスに TransactionHelperImpl オブジェクトのスタックがあることが原因で発生していました。オブジェクトは新しいコンテキストの作成時にそのスタックにプッシュされましたが、コンテキストが閉じるときに出されることはありませんでした。

この問題は、コンテキストが閉じるときに TransactionHelper からオブジェクトが出されるようにコードを修正して解決されました。

8.1 SP1

JTA

変更
要求
番号

説明

問題が修正されたリリース

CR097013

サブコーディネータ サーバはサーバがダウンした後に不明なトランザクションを自動的には回復せず、DBA による手動のロールバックまたはコミットが必要とされていました。

調査の結果、サブコーディネータのコードでは、サーバ再起動後にリモート参加者が追跡されないことが判明しました。リモート参加者を正しく追跡するようにコードにチェックポイントが追加されました。

7.0 SP3

8.1 SP1

CR099830

JTA の移行は、トランザクションがクラスタ内の 2 つのサーバ間で伝播された後に NullPointerException または ConnectException で失敗することがありました。

NullPointerException <Feb 28, 2003 6:38:44 PM JST> <Warning> <JTA> <110213> <The activation of Transaction Recovery Service for server [serverB] fails. java.lang.NullPointerException at...

ConnectException <2003/02/27 13:11:20:JST> <Warning> <JTA> <110213> <The activation of Transaction Recovery Service for server [server1] fails.> java.rmi.ConnectException: Destination unreachable; nested exception is: java.net.ConnectException: Connection refused: connect; No available router to destination at...

調査の結果、サーバが応答不能になっているときの通知と、そのサーバの情報がキャッシュから消去されたときの通知の間で競合状態が生じていることが判明しました。キャッシュがクリーニングされた後に、サーバが応答不能になっているという通知が受信されると、残りの管理対象サーバが応答不能の管理対象サーバの tlog の場所を検索しようとしたときに NullPointer Exception に遭遇していました。

コードを修正して問題は解決されました。

7.0 SP3

8.1 SP1

CR102358

JTARecovery デバッグが有効なときには、次のデバッグ メッセージが 5 秒おきに継続的に出力されていました。

<Mar 29, 2003 1:09:15 PM EST> <Debug> <JTA> <BEA-110027> <ResourceDescriptor[JMSConnectionPool]: checkRecovery: >

このメッセージは現在は出力されません。

8.1 SP1

CR102400

トランザクション マネージャは、アクセス不能なリモート サーバに接続しようとしたときに NullPointerException を生成することがありました。

この問題は、コードを修正することで解決しました。

8.1 SP1

CR102738

ServerMBean のルックアップを失敗させていた内部 API が修正されました。この修正により、トランザクション回復プロセスはサーバのリスン アドレスの変更を認識しなくなりました。

この問題は解決されています。また、新しいサーバ情報が管理サーバから取得されるまで非同期の再試行が行われるようにするコードが追加されました。これで、トランザクション回復プロセスはコーディネータ サーバを再起動することなくサブコーディネータ サーバが戻ったときに完了するようになりました。

7.0 SP3

8.1 SP1

CR103556

サーバ URL が起動対象サーバ以外のサーバを指しているクラスパスに jndi.properties ファイルがある場合、トランザクション マネージャがその TransactionManager オブジェクトをローカル JNDI ツリーにバインドしようとしたときに javax.naming.NameAlreadyBoundException が送出されていました。この例外は、TransactionManager オブジェクトがすでに存在するリモート サーバの JNDI コンテキストでバインド操作が実行されたことが原因で送出されていました。

この問題は、オブジェクトをローカル JNDI ツリーにバインドするときに jndi.properties ファイルを無視するようにコードを修正することで解決しました。

8.1 SP1

CR103601

weblogic.transaction.internal.XidImpl の「equals」メソッドに渡されたオブジェクトが XidImpl のインスタンスでない (たとえば String 型だった) 場合、次の例外が送出されます。

java.lang.ClassCastException: java.lang.String at weblogic.transaction.internal.XidImpl.equals(XidImpl.java:114) at test.main(test.java:9)

この問題は、型の不一致をチェックして報告するようにコードを修正して解決しました。

6.1 SP6

8.1 SP1

CR106174

トランザクションの 1 つを除いたすべての参加リソースが XA_RDONLY フラグで prepare に応答する場合、トランザクション マネージャは 1 フェーズ コミットを保留中の参加コンポーネントに発行する必要があります。ただし、このシナリオの場合、TM が不必要にコミット記録を書き込んでいました。

ログ記録を書き込む前に、いくつの参加コンポーネントが 2 番目のフェーズを必要とするのかを確認するようにコードが修正されました。2 番目のフェーズが必要な場合、書き込みはスキップされます。この変更で問題は解決されています。

7.0 SP3

8.1 SP1

CR106177

リモート beforeCompletion コールバックの処理中に、TM が登録されたオブジェクトを呼び出す前にトランザクション コンテキストを再開します。ただし、静的に登録されたリソースはスレッドでトランザクションが再開されたときに登録されません。

そのようなリソースで登録が実行されて、beforeCompletion ロジックがトランザクションの過程で追加の更新を実行できるようにコードが修正されました。この変更で問題は解決されています。

7.0 SP3

8.1 SP1

JVM

変更要求番号

説明

問題が修正されたリリース

CR101608

JVM には、IIOP で FVD 記述されたクラスを読み込むときにクラッシュを引き起こす可能性があるバグがあります。この問題は、些細なことでその問題を誘発する可能性がある WebLogic Server のバグによってさらに悪化しました。この CR は WebLogic Server のバグを表しており、このクラッシュが引き起こされる恐れはなくなりました。ただし、JVM のバグはまだ存在し、J2SE 1.4.1_03 (および 1.3.1_09) のみで修正されています。BEA としては、1.4.1_03 にアップグレードすることをお勧めします。

8.1

CR105703

WebLogic Server 8.1 以降では、jDriver で新しい JDK 1.4 の機能 ByteBuffer によりパフォーマンスが向上しています。java.nio.charset.CharsetDecoder も、Oracle サーバから返される ByteBuffer のバイトをデコードするために使用されます。ただし、CharsetDecoder では単一バイト データが正しくデコードされません。

この問題は、より多くのインターナショナル コードセットを追加してこの JDK のバグを回避することで解決しました。それらのコードセットは以下のとおりです。

Shift_JIS、SJIS、windows-31j、MS932、EUC_JP、EUC-JP、ISO-2022-JP、ISO2022JP、EUC_KR、EUC-KR、windows-949、MS949、EUC_CN、EUC-CN、windows-936 MS936、GBK、Big5、windows-950、MS950、Big5_HKSCS、Big5-HKSCS

以上の名称は JDK 1.4 のインターナショナライゼーションに基づくものです。

8.1 SP1

ローカライゼーション

変更
要求
番号

説明

問題が修正された

リリース

CR108583

ja/JP/ManagementText.xmlmessageid="DefaultMigratableSuffix" が日本語の文字列に変換され、コンフィグレーション ウィザードで作成されたサーバを顧客が削除できないようになっていました。

この問題は、文字列の比較で使用されるこの文字列をカタログで変換すべきでなかったことが原因で発生しました。

この問題は、日本語に変換された文字列を削除することで解決しました。

8.1 SP1

ノード マネージャ

変更
要求
番号

説明

修正されたリリース

CR093664

このファイルの構文をドキュメント化した nodemanager.properties の先頭のコメントには、SSL コンフィグレーション情報しか含まれていませんでした。現在は、他の一般に使用されるプロパティの説明が含まれています。

8.1 SP1

プラグイン

変更要求番号

説明

修正されたリリース

CR096625

Apache プラグインは、クラスタ内の WebLogic Server インスタンスに X_WEBLOGIC_FORCE_JVMID ヘッダを送信していました。しかし、X_WEBLOGIC_FORCE_JVMID は、サーバ リストがクラスタ化されておらず、現在のサーバに JVM ID がまだない場合にのみ送信されるべきです。

この問題は、サーバ リストがクラスタ化されておらず、現在のサーバに JVM ID がまだない場合にのみ X_WEBLOGIC_FORCE_JVMID が送信されるようにコード修正することで解決しました。

7.0 SP3

8.1 SP1

CR097202

CR103161

WebLogic Server とブラウザの間で 128 ビットのステップアップ証明書を使用するプラグインが含まれるコンフィグレーションで、顧客は WebLogic サイドでブラウザの暗号化強度を指定する必要がありました。ブラウザには 40 ビットまたは 128 ビットの強度がありました。顧客は、次のコードを使用してブラウザの暗号化強度を取得していました。

(Integer)httpRequest.getAttribute("javax.servlet.
request.key-size")

ただし、128 ビット未満の暗号サイズを使用するようにブラウザが設定されている場合でも、返される値は常に 128 でした。

この問題は、HTTPS_KEYSIZE で接続の強度が指定されることが原因で発生していました。128 ビットの証明書がプラグインで使用されるので、ブラウザで使用される強度に関係なく 128 が返されていました。リクエストが WebLogic Server に向けられた場合は、ブラウザの強度に応じて 40 または 128 が返されていました。プラグインでは、HTTPS_KEYSIZE または HTTPS_SECRETKEYSIZE ヘッダは修正されません。

このニーズを満たすために、WL-Proxy-Client-Keysize および WL-Proxy-Client-Secretkeysize という 2 つの新しいヘッダが実装されました。両方のヘッダ値とも、request.getHeader() を使用して取得できます。

6.1 SP5

8.1 SP1

CR100361

READ_ERROR 例外が、クライアントからの読み込みとバックエンド サーバからの読み込みを区別していませんでした。一方で、WRITE_ERROR_TO_CLIENT および WRITE_ERROR_TO_SERVER という 2 種類の WRITE_ERROR 例外がありました。

この問題は、以下の新しい例外タイプを導入することで解決しました。

  • READ_ERROR_FROM_CLIENT - クライアントからのデータ読み込み時のエラー

  • READ_ERROR_FROM_SERVER - バックエンド サーバからのデータ読み込み時のエラー

  • READ_ERROR_FROM_FILE - Post データを格納する一時ファイルからの読み込み時のエラー

  • WRITE_ERROR_TO_FILE - 一時ファイルに Post データを書き込むときのエラー

6.1 SP5

8.1 SP1

CR101222

プライマリ サーバからセカンダリ サーバへのフェイルオーバの後、NSAPI および Apache は MaxSkipTime で指定された時間が経過した後に、障害の発生したプライマリ サーバを回復しませんでした。

この問題は、問題のあるプライマリ サーバがリセットされなかったことが原因で発生していました。

この問題は、MaxSkipTime が経過した後にプライマリ サーバをリセットすることで解決しました。

8.1 SP1

CR101596

ssl_certchain_verify_callback メソッドで、証明書検証の一部の失敗ケースのエラー条件として SSLNoErr が返されていました。たとえば、CA 証明書に critical とマークされていない基本制御があり、デフォルトの「strong」設定ではなく strict 設定が有効になっているケースや、証明書が CA としてマークされていないケースがありました。

この問題は、上記の失敗ケースで (SSLNoErr ではなく) X509CertChainInvalidErr を返すことで解決しました。

6.1 SP5

8.1 SP1

CR102616

NSAPI プラグインで、DNS サーバから IP アドレスのリストが返されプラグインが WebLogicHost = 'DNS name' でコンフィグレーションされている場合に、DNS 名の動的な DNS ルックアップがサポートされるようになりました。

7.0 SP3

8.1 SP1

RMI/RMI-IIOP

変更
要求
番号

説明

問題が修正されたリリース

CR095810

シン クライアント .jar ファイル (wlclient.jar および wljmsclient.jar) と IIOP または IIOPS を使用する場合、ファイアウォール経由のコールバックを使用できません。コールバックはトンネリングを使用する場合には機能していました。

トンネリングが使用されるときにはシン クライアントで双方向 IIOP がすでにサポートされていたので、この問題は HTTP と同様に標準の IIOP でも BiDir を使用できるようにコードを一般化して解決されました。

8.1 SP1

CR097787

シン クライアント IIOP では非同期の「PeerGone」メカニズムが実装されていましたが、このメカニズムではネットワークの分割が行われるときに例外が発生して保留中のリクエストがアクティブになりませんでした。

この問題は、BiDir が使用されるときに「PeerGone」メカニズムがソケットで例外を発するようにコードを修正して解決しました。

8.1 SP1

CR101776

シン クライアントでは動的なデバッグ フラグがありませんでした。

この問題は、シン クライアントで以下のデバッグ フラグを追加することで解決しました。

  • -Dweblogic.debug.client.iiop=true

  • -Dweblogic.debug.client.startup=true

  • -Dweblogic.debug.client.http=true

  • -Dweblogic.debug.client.security=true

  • -Dweblogic.debug.client.ots=true

  • -Dweblogic.debug.client.cluster=true

  • -Dweblogic.debug.client.ssl=true

  • -Dweblogic.debug.client.dgc=true

8.1 SP1

CR102875

IIOP プロトコルで WebLogic Server インスタンスに Ant (wldeploy) を利用してデプロイしようとしたときに、サーバが weblogic.corba.utils.MarshaledStringNullPointerException を生成していました。

この問題は、直前のルックアップでキャッシュされているスタブからリポジトリ ID を取得するときに WebLogic が間違って null を返していたことが原因で発生していました。

この問題は、タイプ ID が null の場合にタイプ ID を info.getRepositoryId メソッドの結果に初期化することで解決しました。

8.1 SP1

CR103388

WebLogic RMI ではプリミティブの配列がサポートされるようになりました。

7.0 SP3

8.1 SP1

CR105892

JMS と IIOP プロトコルを使用しているときに、クライアントによる異常な接続の切断がサーバで正しく検出されていませんでした。これが原因で、JMS クライアント識別子などの、クライアントと関連付けられたステートフル情報で問題が発生します。

異常な接続の切断は、現在は適切に検出されて処理されます。

8.1 SP1

CR106521

顧客は、列挙の含まれる Any を CORBA サーバとの間でやり取りできませんでした。

この問題は、Any 内の列挙のマーシャリングを修正することで解決しました。

8.1 SP1

CR106750

クライアントが IIOP 経由で WebLogic Server に接続し、EJB を通じてサーバサイド ロジックを呼び出すクライアント サーバ アプリケーションで、断続的な IIOP エラーが発生していた可能性があります。

具体的には、シン クライアント アクセス時の read_value() メソッドの CORBA/IIOP MARSHAL および間接エラーです。

この問題は、コードを修正することで解決しました。

8.1 SP1

CR108332

シン クライアント (wlclient.jar) の使用時に、IIOP ストリームの破損があることを示すマーシャリング例外に遭遇することがありました。この問題は、IIOP または T3 が J2SE 1.4 の複数のマイナー バージョンでプロトコルとして指定されている場合に発生しましたが、weblogic.jar がクライアントのクラスパスにあるときには発生しませんでした。

この問題は、マーシャリングされたカスタム値型のエンコードとデコードの問題、および WebLogic Server が値型をマーシャリングするときに間接を追跡する方法の問題が原因で発生していました。

これらの問題は解決されています。

8.1 SP1

CR109032

チェック済み例外のあるアクセサが IDL で正しくマッピングされず、その結果として間違った IDL が生成されていました。

この問題は、アクセサ (getFoo()) とミューテータ (setFoo()) がチェック済み例外を送出するかどうかがチェックされるように IIOP 名前変形コードを修正して解決しました。チェック済み例外が送出される場合は、IDL 属性に変形されません (つまり、ただ標準の関数として扱われる)。

8.1 SP1

セキュリティ

変更要求番号

説明

問題が修正されたリリース

CR097038

CR102656

メッセージング ブリッジを使用する場合、信頼性のないドメインは同期モード通信を使用する場合にのみ動作していました。

この問題は修正されており、非同期モード通信の使用時にも信頼性のないドメインが機能するようになりました。

7.0 SP3

8.1 SP1

CR098843

weblogic.management.runtime.ExecuteThread.getUser メソッドは常に null を返していました。

この問題は、特定スレッドの現在のユーザを取得する方法がないことが原因で発生していましたが、そのためのコードを追加することで解決しました。

8.1 SP1

CR100783

ImportPrivateKey ユーティリティは、誤ったプライベート キーのパスワードが入力されたときに「ASN.1: Lengths longer than 32 bits are not supported」というメッセージを生成していました。つまり、パスワードの問題を示す代わりに、キーの長さに関する問題が指摘されていたのです。

この問題は、エラー メッセージを適切に修正して解決されました。

8.1 SP1

CR101531

組み込み LDAP サーバのメモリ使用量が、ロギングに使用されるバッファのサイズを減らすことで削減されました。これで、トータルのメモリ使用量が 1.8MB 削減されました。

8.1 SP1

CR101770

[SSL ログイン タイムアウト] 属性が WebLogic Server Administration Console から誤って削除されました。この属性のサポートは Administration Console に再び追加されました。

8.1 SP1

CR101785

UsernamePasswordLoginModule LoginModule が IIOP シン クライアントで使用するために追加されました。このクラスには weblogic.security.auth.login.UsernamePasswordLoginModule クラスの API と同じ API がありますが、この実装には authOnLogin という新しいプロパティがあります。このプロパティを true に設定すると、login メソッドにより認証が実行されます (最初の呼び出し時以外)。この新しいプロパティのデフォルトは false です。

8.1 SP1

CR102164

WebLogic 認証プロバイダと LDAP 認証プロバイダの MBean 実装では、パスワードが有効でない場合に weblogic.management.utils.InvalidPasswordException を送出していました。この動作は、weblogic.management.security.authentication.UserPasswordEditorchangeUserPassword メソッドおよび resetUserPassword メソッド (InvalidPasswordException 例外を宣言しない) と一貫性がありませんでした。

この問題は、weblogic.management.utils.InvalidPasswordException を削除し、パスワードが有効でない場合に weblogic.management.InvalidParameterException を送出するよう認証プロバイダの MBean 実装を修正することで解決しました。

8.1 SP1

CR102221

SSL closeWriteHandler メソッドは、出力ストリームがすでにアプリケーションによって閉じられている場合に IOException を生成していました。

この問題は、WriteHandler がすでに閉じているかどうかを closeWriteHandler メソッドがチェックせず、出力ストリームに警告を書き込もうとしたことが原因で発生していました。

この問題は、チェックを追加することで解決しました。

8.1 SP1

CR102251

6.x では、t3 プロトコルがクライアントとサーバの間で認証されたユーザ オブジェクトを送信します。7.x 以降では、t3 プロトコルは認証されたサブジェクト オブジェクト (認証されたユーザ オブジェクトを拡張) をクライアントとサーバの間で送信します。7.x サーバが 6.x クライアントと通信する場合、クライアントに送信される前に認証されたサブジェクトが認証されたユーザに変換し直されます。

クライアントが 8.1 サーバと 6.1 サーバの両方と通信している場合、そのクライアントは 6.x サーバのコンテキストを作成したときに認証されたユーザを受信していました。8.x サーバのコンテキストを作成した場合は、認証されたサブジェクトを受信していました。どちらのコンテキストを最後に作成したかに応じて、認証されたサブジェクトと認証されたユーザのどちらかがクライアントに送信されていました。

8.1 サーバのコンテキストが最後に作成された場合、クライアント ID は認証されたサブジェクトでした。その認証されたサブジェクトは、6.1 サーバと 8.1 サーバの両方に渡されていました。認証されたサブジェクトが 6.x サーバに渡された場合、8.1 クライアントはそれを認証されたユーザに変換しようとしていました。そのためのコードはサーバ側でのみ使用されるようになっていたので、最終的にアサーション障害を生じさせる例外によって失敗していました。6.1 クライアントで実行された場合、クライアントは常に認証されたユーザを受信していたので適切に機能しました。

この問題は、認証されたサブジェクトから認証されたユーザへの変換をクライアント側で呼び出せるようにコードを修正して解決されました。

8.1 SP1

CR102443

1 つの WebLogic Server インスタンスを、LDAP 認証プロバイダがコンフィグレーションされている別の WebLogic Server インスタンスの LDAP サーバとして使用する試みは失敗していました。LDAP サーバとして機能するサーバは NullPointerException を送出し、外部 LDAP を使用するようにコンフィグレーションされたサーバはハングしていました。

この問題は、ユーザ DN とグループ DN が他のドメインの組み込み LDAP サーバの階層と一致しなかったことが原因で発生していました。

この問題は、提供された資格が無効である場合に情報を通知するエラーが返されるようコードを修正することで解決しました。

8.1 SP1

CR104191

URLResource は Windows システムでコンテキスト パスを小文字に変換しますが、その結果セキュリティ制約のある Web アプリケーションを再デプロイするときに、Web アプリケーションで使用されるコンテキスト パスと WebLogic Security フレームワークで使用されるコンテキスト パスの間で大文字と小文字の不一致が生じていました。結果として、管理サーバから削除されたセキュリティ制約がドメイン内の管理対象サーバに伝播されませんでした。

この問題は、両方のコンテキスト パスの大文字と小文字が一致するように検証機能を追加することで解決しました。

8.1 SP1

CR104502

utils.der2pem は文字数が正確に行幅の倍数である場合に余分な新行を書き出し、結果として .pem ファイルが無効になっていました。

この問題は解決されています。

8.1 SP1

CR104713

WebLogic Server インスタンスで双方向 SSL がコンフィグレーションされていて、WebLogic ID アサーション プロバイダが AuthenticatedUser X.509 トークン タイプでコンフィグレーションされている場合、SSL 経由で接続するクライアントをサーバが認証しているときに ClassCastException が送出されていました。この例外は、DefaultIdentityAsserterProviderImpl (Weblogic ID アサーション プロバイダ) に問題があることを示していました。

この問題は、間違ったタイプのトークンが WebLogic ID アサーション プロバイダに渡されることが原因で発生していました。

この問題は、証明書の配列が WebLogic ID アサーション プロバイダに確実に渡されるようにすることで解決されました。

8.1 SP1

CR105809

http://dev2dev.bea.com/resourcelibrary/advisoriesnotifications/BEA03-33.jsp のセキュリティ勧告を参照してください。

7.0 SP3

8.1 SP1

CR106027

Monitor として Administration Console にログインしても、[新しいアプリケーションのコンフィグレーション] 画面にアクセスすることができました。これは WebLogic Server で認識できる任意の場所に Monitor がファイルをアップロードできるということであり、セキュリティ ホールとなっていました。この問題は、コードを修正することで解決しました。

7.0 SP3

8.1 SP1

CR108958

現行の WebLogic Server では JCE プロバイダをコンフィグレーションして SSL 用に使用できますが、これはその JCE プロバイダが Certicom と連携していないと判断された場合を除きます。Certicom と連携していないと判断された場合、その JCE プロバイダは WebLogic Server によって、問題を発生させる JCE プロバイダのリストに追加されます。Certicom は、インストールされた JCE プロバイダがこのリストに含まれることを検出すると、そのプロバイダを無視して代わりに Jsafe の実装を使用します。

IBM JCE プロバイダはこのリストに追加されたため、Certicom の SSL 実装では無視されるようになりました。ただし、他のアプリケーション用としては使用可能です。

8.1 SP1

サーブレットと JSP

変更
要求
番号

説明

問題が修正されたリリース

CR088670

ライセンス エラーを返すときに、WebLogic Server はその問題を説明する 403 ページを生成します。しかし、このメッセージのコンテンツ タイプが text/html であるべきなのに x-weblogic/internal となっていて、結果として Mozilla で「open with application or download file」というプロンプトが表示されていました。

この問題は、コンテンツ タイプを text/html に修正することで解決しました。

8.1 SP1

CR092778

JISAutoDetect エンコーディング (コードやコンフィグレーションを変更せずに入力ストリームとして Shift-JIS、EUC-JP、および ISO-2022-JP を受け入れるために使用) と HTTP リクエストを併用すると、以下の行で始まる UnsupportedEncodingException が送出されていました。

java.io.UnsupportedEncodingException: JISAutoDetect at sun.io.Converters.getConverterClass(Converters.java:102) at sun.io.Converters.newConverter(Converters.java:133) at sun.io.CharToByteConverter.getConverter(CharToByteConverter.java:62) at weblogic.servlet.internal.ServletRequestImpl.setCharacterEncoding(ServletRequestImpl.java:344)

...

この問題は、JSP またはサーブレットが request.setCharacterEncoding("JISAutoDetect") を呼び出したときに発生していました。

この問題は、ServletRequestImpl.javasun.io.ByteToCharConverter ではなく sun.io.CharToByteConverter を使用していたことが原因で発生していました。CharToByteConverter は出力コンバータ用で、JISAutoDetect は入力ストリームでのみ利用できます。

この問題は、JISAutoDetect を受け入れる ByteToCharConverter に変更することで解決しました。

6.1 SP5

8.1 SP1

CR093209

新しい WebLogic Server で、プロパティが java プロトコルに設定されている正常にデプロイされた Web アプリケーションがアクセスされたときに NullPointerException が送出されていました。ブラウザからは、Error 500--Internal Server Error が返されていました。この問題は、アップグレード インストールでは発生しませんでした。

<Dec 16, 2002 11:59:05 AM PST> <Error> <HTTP> <[WebAppServletContext(2092664,sampleApp,/sampleApp)] Servlet failed with Exception java.lang.NullPointerException at weblogic.servlet.JSPServlet.service(JSPServlet.java:132) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCon ext.java:2637) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:235) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)>

分析の結果、ZipSource.getURL() にエラーがあることが判明しました。この問題は、source.getURL() の null 値をチェックするロジックを追加することで解決しました。

6.1 SP5

8.1 SP1

CR093625

WebLogic Server 6.1 SP3 および SP4 のサーバは、JSP ページの JSP include の出力を間違った方向へ導いていました。この問題は、include、forward、wrapped-response、および JSP BodyTag の処理を統一するようにサーブレット エンジンを修正して解決しました。

6.1 SP5

8.1 SP1

CR094190

JVM の仕様によれば、メソッドのサイズ制限は 64KB です。WebLogic Server において JSP で本体付きタグを多数使用した場合、生成された Java コードが __jspService メソッドの 64KB 制限を超えてしまうことがありました。

この問題は、コードを修正することで解決しました。現在は、<my:tag ... /> 形式の空の BodyTag に遭遇した場合、通常その本体のスコープを設定する生成コードが、StandardTagLib.java の静的メソッドに対する 1 回の呼び出しに置き換えられます。その結果、BodyTag ではそれが JSP ソースから通常どおりに呼び出されているものと判断されるようになります。

6.1 SP5

8.1 SP1

CR094488

セッション データを失うことなく、HTTP を使用して開始されたセッションで HTTPS リソースにユーザが安全にアクセスできるようにする新機能が追加されました。この新機能を有効にするには、config.xmlWebServer 要素に AuthCookieEnabled="true" を追加します。

<WebServer Name="myserver" AuthCookieEnabled="true"/>

このようにすることで、新しいセキュアなクッキーが、HTTPS 接続を介した認証時にブラウザに送信されるようになります。一度設定すると、セッションはクッキーがブラウザから送信された場合しかセキュリティ制約のある他の HTTPS リソースにアクセスできません。

注意 : 通常の HTTP を介した認証の場合、セキュアなクッキーは設定されたり、HTTPS リソースで必要とされたりすることはありません。保護されていない HTTPS リソースにアクセスする場合、クッキーは検証されません (ブラウザから送信されていないため)。このため、ブラウザはユーザのログインなしで保護されていない HTTPs リソースにアクセスできます。

6.1 SP5

8.1 SP1

CR095981

weblogic.xml<charset-mapping> は、precompile=true で JSP ファイルをコンパイルするときに無視されていました。

結果として、一部の 2 バイト文字セットが、<charset-mapping> で指定された文字のエンコーディングとコンパイル済みクラスで指定された文字のエンコーディングの不一致のために取り違えられていました。

分析の結果、プリコンパイラにエラーがあることが判明しました。この問題は、コードを修正することで解決しました。

6.1 SP6

8.1 SP1

CR097719

WebLogic Server SP02、SP03、および SP04 では、WAP デバイスから特定の POST リクエストを取得するときに、Web アプリケーションで java.util.ConcurrentModificationException が送出されていました。

<29.jan.03 13:03:05 WET> <Error> <HTTP> <[WebAppServletContext(2810713,TnMFF,/TnMFF)] Servlet failed with Exception java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.next(HashMap.java:736) at weblogic.utils.enumerations.IteratorEnumerator.nextElement(IteratorEnumerator.java:25) at com.colibria.core.xmlswitch.XMLSwitch.getQueryStringXML(XMLSwitch.java:347) at ...

分析の結果、文字セットがリクエストの content-type と関連付けられている場合に、アプリケーションでコードがそのエンコーディングを使用してデータを再び読み込み、クエリ パラメータをリセットすることが判明しました。アプリケーションにはすでに列挙オブジェクトがあり、それを反復処理して (request.getParameterNames)、その後にパラメータの値を取得しようとします (request.getParameterValues(k))。その時点で、クエリ パラメータは消去され、getParameterValues メソッドがそれを設定しようとし、結果として例外が送出されます。

この問題は、クエリ パラメータが消去された後にそれらを設定するようにコードを変更して解決されました。そのようにすれば、文字セットがリクエストの content-type と関連付けられている場合にデータを再び読み込むことができます。

8.1 SP1

6.1 SP5

CR097759

VM スレッド ダンプとタイムスタンプが関連付けられていませんでした。

この問題は、次の形式のメッセージが VM スレッド ダンプの前に出力されるようにコードを修正して解決しました (weblogic.Admin スレッド ダンプ コマンドを使用したスレッド ダンプのみに適用される)。

THREAD DUMP from JVM taken at 'Mon Mar 24 16:26:13 2003'

8.1 SP1

CR098955

logRotationBeginTime が過去の日付であり、logRotationBeginTime と今日の日付の間隔が大きい場合は、long の int への不適切なキャストのため、ローテーション時刻の計算が無効になっていました。この問題は解決されています。

5.1 SP14

8.1 SP1

CR100068

CR110324

日本語文字の含まれる JSP で JSTL タグを使用することはできませんでした。JSP が実行されると、次の行で始まるエラーが発生していました。

java.io.IOException: javax.servlet.jsp.JspException: The taglib validator rejected the page: "org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x82) was found in the CDATA section."

...

この問題は、以下の衝突する条件が原因で発生していました。

    1. JSP のページ エンコーディングが次のように Shift_JIS で定義されている
    <%@ page pageEncoding="Shift_JIS" %>

    2. JSP でマルチバイト文字 (日本語) を使用している

    3. JSTL タグを使用している

この問題は、weblogic.servlet.jsp.StandardTagLib.makeXMLStream メソッドから返されるバイト ストリームのエンコーディングを UTF-8 に変更することで解決しました。

7.0 SP3

8.1 SP1

CR100172

複数のチャンクされたリクエストがサーブレットにポストされた場合は、以下の行で始まる NumberFormationException で多くのリクエストが失敗していました。

<ExecuteThread: '11' for queue: 'default'> <kernel identity> <> <101017> <[ServletContext(id=4864139,name=387551,context-path=)] Root cause of ServletException> java.lang.NumberFormatException:

...

この問題は、間違った場所で不適切にチャンクの末尾を検出しようとしていたことが原因で発生していました。

この問題は、ストリームの最後まで読み込み、チャンクの末尾を適切に検出するようにコードを修正して解決されました。

7.0 SP3

8.1 SP1

CR100188

AuthCookie 機能が証明書の認証で機能していませんでした(AuthCookie は、HTTP から HTTPS への移行を保護するために使用するセキュアなクッキーです)。この機能は、セッション データを失うことなく、HTTP を使用して開始されたセッションで HTTPS リソースにユーザが安全にアクセスできるようにするために WebLogic Server 6.1 SP5 で追加されました。

この問題は、コードを修正することで解決しました。

8.1 SP1

CR100260

HTTP リクエストがデフォルト以外のネットワーク チャネルを使用して WebLogic プロキシによってクラスタにプロキシされる場合、返されるクラスタ リストはデフォルト チャネルに基づいていました。その後、プラグインは元々のネットワーク チャネル (到達できない可能性があった) ではなくデフォルト チャネルにプロキシを開始していました。

この問題は、動的なサーバ リストでデフォルトではないネットワーク チャネルが認識されるようにコードを修正して解決されました。

8.1 SP1

CR100570

WebLogic Builder から weblogic.xml の変更を保存するときに、weblogic.xml ファイルでデプロイメント記述子 MBean の余計なエントリが作成されていました。そうした余計なエントリはデフォルトであり、weblogic.xml ファイルに追加する必要はありませんでした。

この問題は、デフォルト値が変更されている場合にのみエントリが weblogic.xml ファイルに書き込まれるようにコードを修正して解決されました。

8.1 SP1

CR101996

リクエストおよび応答ラッパーで xmlx タグを使用すると、ClassCastExceptions が送出されていました (そのタグが内部リクエストと応答の実装に内部的にキャストされるため)。この問題は、リクエストと応答のインスタンスを元の内部表現に戻すことで解決しました。

xmlx タグを使用した場合は、getOutputStream の後に getWriter を使用する試みが行われたことを示す IllegalStateException も送出されていた可能性があります。この問題は、getOutputStream を呼び出す前に適切に出力状態をリセットするようコードを修正して解決されました。

8.1 SP1

CR102057

バッファ サイズなしでリクエストに静的リソースを含めると (たとえば、response.setBufferSize(0))、無限ループに陥るおそれがありました。この問題は、このケースから保護することで解決されました。

8.1 SP1

CR102062

ServletContext.getResourcePaths メソッドが WAR ファイルから呼び出された場合に誤った結果を返し、分割ディレクトリ デプロイメントの場合このメソッドで返された Set には srcdir からの結果のみが含まれ、outputdir からの結果が含まれていませんでした。

この問題は、コードを修正することで解決しました。

8.1 SP1

CR102077

weblogic.servlets.internal.InternalRequestDispatcher は、長さが 0 の URI (たとえば空の HTML ファイル) が渡された場合は StringIndexOutOfBoundsException を送出します。

この問題は、この状態から保護することで解決されました。

8.1 SP1

CR102499

Web アプリケーション クラスローダを使用してリクエストに属性を追加し、そのリクエストが request.getAttribute() により Web アプリケーション クラスローダの子クラスローダに委託された場合、ClassCastException を回避するために Web アプリケーション コンテナでその属性のデシリアライズが試みられました。その結果、シリアライゼーション エラーが発生しました。

現在 Web アプリケーション コンテナのコードでは、親クラスローダからロードされたクラスを検出できるようになっています。これが機能すれば、デシリアライズは行われません。

しかし、これは次のような条件下では、子が setAttribute() を使用してリクエスト内に属性を配置した場合に機能しません。

  • 含まれるクラスまたは参照が子のみを対象としている場合

  • 含まれるクラスまたは参照がシリアライズできない場合

Web アプリケーション クラスローダを一時的に子クラスローダ内の setAttributes() に送って表示すると、2 番目の問題を回避できます。

8.1 SP1

CR102667

同じ名前のコンテキストが古いデプロイメント モデル (6.x デプロイメント モデル) を使用して以前にデプロイされている場合には、Web アプリケーション モジュールによって NullPointerException が送出されていました。

この問題は、古いデプロイメント モデルがある場合はそれが適切に処理されるようにすることで解決しました。

8.1 SP1

CR102763

(サーバではなく) ネットワーク チャネルでは、ExternalDNSName は非推奨になっています。顧客は、プロキシ Web サーバとクラスタの間にファイアウォールがある場合はチャネルの新しいパブリック アドレスを利用する必要があります。また、HTTP と HTTPS の組み合わされたチャネルを使用することも必要です。詳細については、『WebLogic Server クラスタ ユーザーズ ガイド』の「プロキシ レイヤとクラスタの間のファイアウォール」を参照してください。

8.1 SP1

CR103059

<servlet-mapping> 要素の 1 文字の <url-pattern> 値が、web.xml デプロイメント記述子で適切に処理されていませんでした。たとえば、<url-pattern>*.f</url-pattern> では welcome.f にアクセスしようとしたときに 404 File Not Found エラーが生成されましたが、<url-pattern>*.oop</url-pattern>welcome.oop にアクセスしようとしたときに適切に機能していました。

この問題はすでに解決されており、1 文字の <url-patterns> は適切に機能するようになっています。

8.1 SP1

CR103095

Web アプリケーション モジュールと関連付けられた認証メソッドが無効で、その Web アプリケーション モジュールがデプロイされるときに、エラー メッセージは生成されず、認証メソッドが通知なしにデフォルトで BASIC 認証になっていました。

この問題は、コードを修正することで解決されています。認証メソッドが無効な Web アプリケーション モジュールはデプロイされず、問題を示すメッセージが Administration Console または stdout (どちらに表示されるかは Web アプリケーション モジュールのデプロイ方法による) だけでなくサーバのログ ファイルにも表示されるようになりました。

8.1 SP1

CR103192

クライアントでセッション クッキーが有効になっていない場合、ユーザは HTTPS 経由でセキュアな Web サイトにログインできませんでした。この問題は、AuthCookie (WebLogic Server 8.1 まではデフォルトで無効だった) を手動で無効化することで回避できました。

この問題は、Web アプリケーションでセッション クッキーが無効になっている場合に AuthCookie チェックを自動的に無効にすることで解決されました。

8.1 SP1

CR103247

WebLogic Server は、分割ディレクトリ機能を使用するときに暗黙の TLD の位置を特定できませんでした。

この問題は、resourceFinders が暗黙的な TLD のロード後に更新されることが原因で発生していました。resourceFinder の更新では、srcdir と送り先 (outputdir) ディレクトリが追加されます。

この問題は、抽出プロセスの前に resourceFinders を更新することで解決されました。

8.1 SP1

CR103925

setAttribute メソッドは、hashCode の同一性のみをチェックしていました。現在は、equals メソッドの結果で古いオブジェクトと新しいオブジェクトをチェックするようにもなりました。

8.1 SP1

CR104410

PersistentStoreType が「replicated」に設定されている場合、アプリケーションを正常にデプロイできた顧客はブラウザからそのアプリケーションにアクセスしようとしたときに「Internal Server error」というメッセージを受信していました。加えて、次の例外もサーバでログに記録されていました。

weblogic.management.NoAccessRuntimeException: Access not allowed for subject: principals=[], on ResourceType: ServletSessionRuntime Action: register, Target: null

この問題は、セッション モニタが有効になっているセッションを正常に作成できるようにコードを修正することで解決しました。

8.1 SP1

CR104469

fastfile.dll ファイル (Windows 上の FileServlet のネイティブ IO で必須) は、JRockit JVM では機能しませんでした。この問題は解決されています。

8.1 SP1

CR105171

weblogic.xml<jspServlet> 要素で weblogic.servlet.WlwJSPServlet を使用するように指定されている場合でも、「load-on-startup」JSP ファイルは weblogic.jspc でコンパイルされていました。

この問題は、指定されたコンパイラが使用されるように解決されました。

8.1 SP1

CR106172

weblogic.xmlprecompile オプションが true に設定されている Web アプリケーションのデプロイメントは、org.xml.sax.SAXParseException の JSTL タグ バリデータ エラーで失敗していました。

この問題は、precompiletrue に設定されている場合は、JSP ファイルが検証を実行するメソッドに渡されないことが原因で発生していました。

この問題は、検証を実行するメソッドに JSP ファイルを正しく渡すようにコードを修正して解決されました。

8.1 SP1

システム管理

変更
要求
番号

説明

問題が修正された

リリース

CR080353

ドメイン コンバータを使用して weblogic.properties ファイルを変換した場合に、weblogic.password.guest=<guestpassword> のエントリが生成されませんでした。変換は成功しますが、次のようなエラーが発生する場合があります。

java.lang.SecurityException: Authentication for user guest denied in realm weblogic

この問題は、古い動作を取得する方法を示す警告が表示されるようにコードを修正して解決されました。

<Apr 12, 2003 10:29:30 AM EDT> <Warning> <Management> <BEA-141186> <User Guest has been disabled by default. If you would like to enable Guest, you should do it manually.>

8.1 SP1

CR098920

既存のシステム管理カタログのメッセージを BEA サポートでレビューした結果に基づいて、メッセージ カタログの詳細、原因、およびアクション情報が改善されました。

8.1 SP1

CR099404

セキュリティ サービス プロバイダ インタフェース (SSPI) を使用してカスタム セキュリティ プロバイダを管理する MBean を作成するときに、複数の MBean で同じ ObjectName を使用しようとすると、WebLogic Server は基底の JMX 例外 InstanceAlreadyExistsException を汎用的な MBeanException の中にラップしていました。SP1 では、真の例外が送出されます。

8.1 SP1

CR100331

次のコマンドを使用して空のディレクトリでサーバを起動したときに、警告メッセージではドメイン名とサーバ名が入れ替わっていました。

. /bea/wls810/curr2weeks/weblogic/server/bin/setWLSEnv.sh /bea/wls810/curr2weeks/jdk141_02/bin/java -Dweblogic.management.GenerateDefaultConfig=true -Dweblogic.ListenAddress=172.18.136.38 -Dweblogic.ListenPort=7101 -Dweblogic.Domain=rmiiiopStressCluster -Dweblogic.Name=adminServer -Dweblogic.management.password=weblogic -Dweblogic.management.username=weblogic weblogic.Server

不正確な警告メッセージは次のようでした。

<Mar 6, 2003 9:17:24 AM EST> <Warning> <Management> <BEA-140012> <Creating default domain adminServer with default server rmiiiopStressCluster.>

この問題は、警告を次のように修正して解決しました。

<Mar 6, 2003 9:17:24 AM EST> <Warning> <Management> <BEA-140012> <Creating default domain rmiiiopStressCluster with default server adminServer.>

8.1 SP1

CR101002

application.xml のみで定義されている (つまり weblogic-application.xml では定義されていない) EAR のセキュリティ ロールは WebLogic Security サービスから利用できず、したがって Administration Console では表示されませんでした。

この問題はコードの修正によって解決されており、現在は期待どおりに Administration Console に表示されるようになりました。

8.1 SP1

CR101144

サーバの再起動後に UDDI にログインしようとすると、次の例外が送出されていました。

<Mar 25, 2003 11:23:05 AM CST> <Error> <HTTP> <BEA-101017> <[ServletContext(id=1 4133705,name=uddi,context-path=/uddi)] Root cause of ServletException. weblogic.management.NoAccessRuntimeException: Access not allowed for subject: principals=[], on ResourceType: EmbeddedLDAPConfig Action: read, Target: Credential at weblogic.management.internal.SecurityHelper$IsAccessAllowedPrivilegeA ction.wlsRun(SecurityHelper.java:492)

この問題を再現するには次の手順を正確に行います。

    1. 空のディレクトリで、WebLogic Server インスタンスを作成して起動します。

    2. http://localhost:7001/uddiexplorer/index.jsp をロードします。

    3. [Search Private Registry] を表示して、[SEARCH] をクリックします。

    4. サーバを停止して、再起動します。

    5. 手順 2 と 3 を繰り返すと、エラーが発生します。

この問題の原因は、ユーザが Admin セキュリティ ロールを与えられていない限り保護されている属性にアクセスできないよう変更されたことにあります。

この問題は、管理者特権を持つものとして実行されるよう UDDI コードを修正して解決されました。このようにして、必要な埋め込み LDAP パスワード属性にアクセスすることができます。

8.1 SP1

CR101246

暗号化されたパスワード フィールドの読み込みが必要なすべてのアクション (JDBC 接続プールのデプロイなど) で、Deployer セキュリティ ロールを付与されている Administration Console のユーザは次のような例外を受信していました。

Access not allowed for subject: principals=[DeployerUser, Deployers], on ResourceType: JDBCConnectionPool Action: read, Target: Password

この問題は、Deployer セキュリティ ロールを付与されたユーザがすべての DeploymentMBean で読み取りアクセスできるようにコードを修正することで解決されました。つまり、Deployer セキュリティ ロールを付与されたユーザは、DeploymentMBean の暗号化された属性にも読み取りアクセスできることになります。JDBCConnectionPoolMBeanpassword 属性もこの変更の影響を受けました。

8.1 SP1

CR102149

WebLogic Server インスタンスは、Solaris 上でトランザクション セッション内に永続メッセージを同期的に 21,000 個受け取った場合、OutOfMemoryError を送出しました。

解放された長いリストを再利用する際にガベージ コレクタの速度が低下していました。リンクされたリストを分割することで問題が解決されました。

7.0 SP3

8.1 SP1

CR102706

クラスタ内で、管理サーバを更新しようとした管理対象サーバは java.lang.NullPointerException に遭遇することがありました。

この問題は、NotificationListener の登録の問題が原因で発生していました。

この問題は、NotificationListener が以前に登録されたことがない状態で、NotificationListener を登録解除しようとして NullPointerException が送出されることがないように、NotificationListener の登録と登録解除の処理を修正して解決されました。

8.1 SP1

CR102805

weblogic.webservice.client.BaseWLSSLAdapter.addIdentity(java.security.cert.X509Certificate[] chain, java.security.PrivateKey privateKey) メソッドが誤って非推奨とマークされることがなくなりました。このメソッドの他の 2 バージョンは適切に非推奨になっています。

8.1 SP1

CR102807

新しく作成されたディレクトリから管理サーバを初めて起動するときにサーバ名を指定しないと、警告と java.lang.NullPointerException が発生するおそれがありました。

この問題は、管理サーバの起動時にサーバ名が指定されない場合に管理エラーが報告されるようにコードを修正して解決されました。

8.1 SP1

CR102849

ドメイン ログ メッセージ ファイルで同期のネットワーク IO が生じて、デッドロックなどの問題が発生するおそれがありました。

この問題は、メッセージがドメイン ログに非同期でブロードキャストされるようにコードを修正して解決されました。

8.1 SP1

CR103117

WebLogic Server 7.1 から 8.1 に Web サービス クライアントをアップグレードしようとした場合、クライアントが webserviceclient.jar を使用して呼び出されたときに ClassNotFoundExceptions を受け取るおそれがありました。この問題は、weblogic/webservice/PartFilter.class ファイルと weblogic/webservice/core/FaultMessage.class ファイルが webserviceclient.jar にないことが原因で発生していました。それらのファイルはすでに追加されています。

8.1 SP1

CR103831

サーバとドメインのログが管理サーバで同時にローテーションされたときにデッドロックが発生していました (CR102849 も参照)。

この問題は、メッセージがドメイン ログに非同期でブロードキャストされるようにコードを修正して解決されました。

8.1 SP1

CR103935

エラー メッセージがドメイン ログ ファイルに出力された後、サーバのロギング サービスが停止していました。この問題が発生すると、サーバ ログ ファイルに出力されないログ メッセージがでてきます。この問題は、管理サーバと管理対象サーバの両方で発生していました。

この問題は、ローテーションする次のログ ファイルを選択する上で、ファイル システムにすでにあるログ ファイルが選択されていたことが原因で発生していました。したがって、ローテーションの試行は必ず失敗していました。

ログ ファイルが速い回転でローテーションされるときには、ファイルのハンドルが解放されていない場合があります。この問題は、最後に修正されたタイムスタンプに基づいて最古と最新のファイルを判別し、障害が発生した場合はローテーション サイズをオフセットすることで解決しました。

8.1 SP1

CR104008

weblogic.Admin SHUTDOWN および FORCESHUTDOWN コマンドでは、起動 ID ファイルからユーザの資格を取得することができるようになりました。そのため、暗号化されていないユーザ資格をスクリプトに格納することなくスクリプトからそれらのコマンドを呼び出すことができます。

詳細については、『WebLogic Server コマンド リファレンス』の「SHUTDOWN」と「FORCESHUTDOWN」を参照してください。

8.1 SP1

CR104966

CR105251

CR105252

HTTP ログ ローテーションの時間フォーマットがオンライン ヘルプで示されているフォーマットと一致していませんでした。オンライン ヘルプで指定されたフォーマットを使用すると、WebLogic Server インスタンスが次に起動されたときに解析エラーが発生して起動できませんでした。

適切な日付フォーマット (MM-dd-yyyy-k:mm:ss) を指定しないと、現在の Administration Console ではその問題が指摘されます。オンライン ヘルプは、このフォーマットを示すように修正されています。

8.1 SP1

CR105198

Open LDAP 認証プロバイダがデフォルトの (アクティブな) セキュリティ レルムに追加された後、クラスタのインスタンスの起動時に次の例外が表示されていました。

com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte

この問題は、管理対象サーバに管理サーバの暗号化サービスを取得させ、適切な暗号化を実行させることで解決しました。

8.1 SP1

CR105777

RemoteException が高速キャッシングで値タイプとして扱われていなかったので、例外の伝播が正しく機能していませんでした。

本当の値タイプのみをキャッシュすることで問題は修正されました。

7.0 SP3

8.1 SP1

CR120295

いくつかのロギング メソッドが誤ってパブリックになっていました。

weblogic.logging.WLLogRecord MBean の WebLogic Server 8.1 API リファレンス (Javadoc) で、セッター メソッドがパブリックとされるべきではありませんでした。この MBean 内の属性値はあらかじめ計算されて内部的に設定されます。変更するべきではありません。

また、weblogic.logging.WLLevel MBean の API ドキュメントで、コンストラクタはパブリックとされるべきではありませんでした。 WebLogic ロギング サービスは修正済みのレベルのセットをサポートしているため、独自に作成した WLLevel はサポートされません。WebLogic ロギング サービスによって WLLevel への適切なマッピング後に処理される、java.util.logging.Level クラスを拡張することは可能です。

8.1 SP1

ツール

変更
要求
番号

説明

問題が修正されたリリース

CR069568

EJB 2.0 DTD では、1 つの method-permission 要素で複数のロールと複数のメソッドを定義することができます。WebLogic Builder では複数のロールを定義できますが、メソッドは 1 つだけです。

この問題は、1 つの method-permission 要素で複数のロールと複数のメソッドを指定できるように WebLogic Builder を修正して解決されました。

8.1 SP1

CR093246

<allow-remove-during-transaction> という新しいタグが、weblogic-ejb-jar.xml デプロイメント記述子に追加されました。このタグはステートフル セッション Bean 用に追加されたもので、<stateful-session-descriptor> タグの子です。しかし、WebLogic Builder には表示されていませんでした。

この問題は、WebLogic Builder でセッションの [詳細設定] ペインに [トランザクション中の削除を許可] チェック ボックスを追加することで解決しました。

7.0 SP3

8.1 SP1

CR096719

WebLogic Builder では、エンティティ Bean のプール設定が公開されませんでした。

この問題は、[チューニング] サブノードにエンティティ Bean のプール パネルを追加することで解決しました。

7.0 SP3

8.1 SP1

CR099865

<container-transaction> タグを使用して 1 つの Bean でデフォルトのトランザクション値 (default-tx) を設定すると、同じ JAR 内のすべての Bean でそのデフォルトのトランザクション値が同じように設定されていました。

この問題は、1 つの Bean でのデフォルト トランザクション値の設定が JAR 内の他の Bean の同じ設定に影響しないようにコードを修正して解決されました。

7.0 SP3

8.1 SP1

CR099913

WebLogic Builder の自動キー生成フレームでは、すべてのフィールドが一貫性を持って有効化または無効化されませんでした。たとえば、<automatic-key-generation> タグのない JAR を開いて、[自動キー生成] タブをロードした場合、チェック ボックスはチェックが外されていましたが、それでも値を入力することができました。

この問題は、フィールドが一様に無効化されるようにコードを修正して解決されました。

7.0 SP3

8.1 SP1

CR102990

WebLogic Builder で、ユーザはメソッドのパーミッションで使用されている場合にロールを削除できなくなりました。

8.1 SP1

CR103200

拡張子 .java のない Java ソース ファイルが source2wsdd に提供された場合は、次のエラーで障害が発生していました。

[source2wsdd] source2wsdd: Illegal package name

分割ディレクトリにある EJBGen ソース コード ファイルの規約では .ejb のサフィックスが認められているのでこれは問題でした。

この問題は、.java または .ejb サフィックスのいずれかを受け入れるように source2wsdd を修正して解決されました。

8.1 SP1

CR105436

java weblogic.marathon.ddinit.WebInit stageDir は、weblogic.xml および web.xml でサーブレット コンポーネントの生成に失敗していました。

コード行のリグレッションがこの問題の原因です。これは修正されて問題は解決されています。

7.0 SP3

8.1 SP1

CR108254

クラスパスにスペースが含まれている場合に EJBGen を呼び出すと wlcompile が失敗していました。

この問題は、wlcompile が EJBGen を分割するときに、クラスパスが引用符で囲まれないことが原因で発生していました。結果として、クラスパスにスペースが含まれている場合は、一部の要素が誤って解釈されていました。

この問題は、クラスパスが適切に処理されるようにすることで解決しました。

8.1 SP1

ユーティリティ

変更
要求
番号

説明

問題が修正されたリリース

CR101046

weblogic.BuildXMLGen は、警告なしに既存の build.xml ファイルを上書きしていました。

この問題は、次の警告メッセージを追加することで解決しました。

weblogic.utils.compiler.ToolFailureException: Build File already exists, use -file to specify alternative build file name.

8.1 SP1

WebLogic Workshop

変更
要求
番号

説明

問題が修正されたリリース

CR102094

WebLogic Workshop サンプル サーバを起動するスクリプト WL_HOME\samples\workshop\startWebLogic.cmd が、WebLogic Server 8.1 リリースではインストールされませんでした。したがって、Windows の [スタート] メニューの項目はこの不足ファイルを参照するため、サンプル サーバの起動には使用できませんでした。

この問題は修正されています。

8.1 SP1

Web サービス

変更
要求
番号

説明

修正されたリリース

CR085000

java.lang.Object のシリアライゼーションの過程で StackOverFlowError が発生していました。

この問題は、java.lang.Object クラスのインスタンスで Object.toString() を使用することで解決しました。

8.1 SP1

CR087303

次の WSDL ファイルを処理するときに、clientgen Ant タスクで無効なクラスが作成されていました。

wsdl:message name="UploadCBProfileRequest"> <wsdl:part name="body" element="tns:TRAMSDATA"/> <wsdl:part name="authHeader" element="tns:AuthenticationHeader"/> </wsdl:message> <wsdl:portType name="RelMgrPortType"> <wsdl:operation name="uploadCBProfile"> <wsdl:input message="tns:UploadCBProfileRequest"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="RelMgrSOAPBinding" type="tns:RelMgrPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http";/> <wsdl:operation name="uploadCBProfile"> <soap:operation soapAction="" style="document"/> <wsdl:input> <soap:body parts="body" use="literal"/> <soap:header wsdl:required="true" message="tns:UploadCBProfileRequest" part="authHeader" use="literal" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";> </soap:header> </wsdl:input> </wsdl:operation> </wsdl:binding>

結果として生成されたタスクには、重複した uploadCBProfile() 引数が含まれていました。

調査の結果、すでに存在する場合でもヘッダ部分をメッセージに追加していることが判明しました。コードを修正して問題は解決されました。

7.0 SP3

8.1 SP1

CR094458

リクエストと応答の両方で操作ごとに Web サービスのセキュリティ要件をコンフィグレーションすることができるようになりました。

8.1 SP1

CR096558

このバージョンの WebLogic Server では、新しいバージョンの SOAP 1.2 仕様が使用されます (W3C 勧告候補、2002 年 12 月 19 日)。

8.1 SP1

CR097887

Web サービスのデプロイメント記述子と WDSL ですべての XML エンコーディングがサポートされていませんでした。その結果として、servicegen の使用時に次のエラーが発生するおそれがありました。

[servicegen] java.io.CharConversionException: Unconvertible UTF-8 character

この問題は、weblogic.webservice.i18n.charset プロパティを使用して Web サービスのデプロイメント記述子と WSDL のエンコーディングをサポートすることで解決しました。

8.1 SP1

CR098050

xsd:stringjava.lang.String にデシリアライズするときに、特定の文字 (「/」など) が原因で結果文字列が切り詰められていました。

この問題は、複数の文字データ イベントを処理するように String デシリアライザを修正して解決しました。

8.1 SP1

CR099028

単純型が使用される soap ヘッダでは、間違ったネームスペース (スキーマのネームスペース) が使用されていました。

この問題は、Web サービスの対象ネームスペースを使用するように soap ヘッダを修正して解決されました。

8.1 SP1

CR099030

WebLogic Server インスタンスに対する一方向の呼び出しは、最後のコンポーネントの呼び出しが完了するまで待機していました。現在、クライアントはリクエストを送信した後に復帰します。

8.1 SP1

CR100386

javax.xml.rpc.Call.SESSION_MAINTAIN_PROPERTY がサポートされていませんでした。つまり、クライアントで設定されている (JAX-RPC 1.1 仕様のセクション 13.7 (セッション管理) に違反している) 場合にこのプロパティでは何も行われませんでした。

この問題は、このプロパティのサポートを追加することで解決しました。

8.1 SP1

CR100528

次のように同じ serviceName と serviceURI を使用して 2 つの Web サービスを定義した場合は次のように、

service serviceName="SessionFoo" serviceURI="ejb20test"
service serviceName="SessionFoo" serviceURI="ejb20test"

両方のノードが 1 つの Web サービスに結合されていました (操作が結合して提供される)。

しかし、次のように異なる serviceName、同じ serviceURI を使用して 2 つの Web サービスを定義した場合は次のように、

service serviceName="SessionFoo" serviceURI="ejb20test"
service serviceName="SessionBar" serviceURI="ejb20test"

片方の Web サービスの操作だけが ./ejb20test の下に示されていました。

この問題は、同じ serviceURI が複数の Web サービスで使用されないように servicegen でチェック機能を追加して解決されました。同じ serviceURI が複数の Web サービスで使用されると、ビルド エラーが生じるようになりました。

8.1 SP1

CR100807

Web サービスのバックエンド コンポーネントのデフォルト メソッドが呼び出されなかったので、サーバサイド ディスパッチャが正しく機能していませんでした。

この問題は、コードを修正することで解決しました。

8.1 SP1

CR100932

デフォルト型マッピングでは、クラスパスから types.xml ファイルをロードできるようになりました。

8.1 SP1

CR101149

JMS 転送が有効であり、異なる転送を使用する複数の操作がある Web サービスをテストするためにブラウザが使用される場合、テスト ページでは 1 セクションですべての操作が表示され、それらが区別されていませんでした。

この問題は、異なる転送を使用する操作を区別できるようにテスト ページを修正して解決されました。

8.1 SP1

CR101160

WSDL では、複合型を格納する以外に SOAP 障害を記述することができます。これは、WebLogic コンテナではサポートされていませんでした。

この問題は、JAX-RPC 仕様のセクション 5.5.5 および 4.3.6 を実装することで解決しました。

8.1 SP1

CR101369

SOAPFaultExceptionfaultactorfaultstring が反転することは無くなりました。

8.1 SP1

CR101416

Javax.xml.rpc.Service.getProxy(<stub-class>) は、1 つの XML 型が多くの Java 型にマッピングされている場合は正しく機能しませんでした。この問題は、Java 型および XML 型両方を使用してコーデックをルックアップすることで修正されました。

8.1 SP1

CR102139

Web サービスのセキュリティに、署名付きメッセージのタイムスタンプが含まれるようになりました。Web サービスのデプロイメント記述子のセキュリティ部分は、タイムスタンプの処理をコンフィグレーションできるように拡張されています。

8.1 SP1

CR102328

Web サービスを構築する過程で、ClassNotFoundException が送出されていました。servicegen ユーティリティを使用して Web サービスを作成しているときに、次の行で始まるエラーが発生していました。

java.lang.ClassNotFoundException: weblogic.management.descriptors.WebElementMBean at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:183) at java.lang.ClassLoader.loadClass(ClassLoader.java:294) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:281) at java.lang.ClassLoader.loadClass(ClassLoader.java:250)

...

この問題は、weblogic.jar ファイルと webservices.jar ファイルがシステムの CLASSPATH に追加されていない場合は WebLogic Server がそれらの位置を認識できないことが原因で発生していました。

この問題は、WebLogic Server が常にスレッドのコンテキスト クラスローダからクラスをロードするようにコードを修正して解決されました。

8.1 SP1

CR102686

非同期の Web サービス クライアントは、webserviceclient.jar だけがクライアントのクラスパスにある場合には失敗し、次のデバッグ情報を出力していました。

java.lang.ClassNotFoundException: weblogic.kernel.Kernel

注意 : この問題は、weblogic.jar もクラスパスにある場合は起こりません。

この問題は、デバッグ情報が出力されないようにし、weblogic.kernel.Kernelwebserviceclient.jar に含めることで解決しました。

8.1 SP1

CR102772

ネームスペース プレフィックスを使用することなくクライアントサイド ハンドラで子要素のある SOAP ヘッダ ブロックを追加すると (SOAPEnvelope.createName(String localName) および SOAPHeaderElement.addNamespaceDeclaration("","http://identifier.company.com/Context/v1";) を使用)、サーバサイド ハンドラ内のその SOAP ヘッダ ブロックに対して SOAPHeader.getChildElements(javax.xml.soap.Name) メソッドが空の Iterator を返していました。

この問題は修正済みで、SOAPHeaderElement.addNamespaceDeclaration("","http://foo.bar/" ) を使用してデフォルトのネームスペースを追加できるようになりました。

8.1 SP1

CR102745

SDK のバグのために JMS 転送を使用する軽量クライアントでのみ必須とされる weblogic.webservice.binding.jms.ConnectionPool.getInstance().close() メソッドが Javadoc に追加されています。

8.1 SP1

CR102985

存在しない Web サービスに対して信頼できるリクエストが行われた場合は、SOAP 障害例外が返されていました。このケースで、送信側の動作は決定論的ではありませんでした。

この問題は、次のように動作するようにコードを修正して解決されました。

    1. 1. SOAP 障害がある場合は、配信障害が報告されます。

    2. 応答に信頼性ヘッダがない場合は、リクエストが再試行されます。

    3. ステータスが DUP または OK の場合は、メッセージがキューから削除されます。

8.1 SP1

CR103111

SOAP メッセージが、暗号化および解読の際に常にプラットフォームのデフォルト エンコーディングとして処理されていました。

この問題は、セキュアな SOAP メッセージのハンドラにエンコーディングを指定できるようにすることで解決しました。Web サービス セキュリティ (WS-Security) を使用する Web サービス アプリケーションおよびクライアントは、エンコーディングを指定することで非 ASCII 文字を変換できるようになりました。エンコーディングを指定するメソッドは非セキュアな SOAP メッセージ用のものとほとんど同じですが、weblogic.webservice.binding.BindingInfosetAcceptCharset() メソッドは例外的に無視されます。エンコーディングを指定しない場合は UTF-8 が使用されます。

8.1 SP1

CR103394

省略可能パラメータは、WebLogic Workshop から生成されたスタブを使用して Java クライアントから null に設定することができませんでした。省略可能パラメータは常にデフォルト値で送信されていました。

この問題は、クライアントの省略可能パラメータの値が生成されたスタブを使用するクライアントで設定されていない限り、省略可能パラメータがクライアントから Web サービスへの SOAP リクエストで書き込まれたり、送信されたりしないようにコードを修正して解決されました。

8.1 SP1

CR103791

java weblogic.webservice.autotype では、ユーザ型の配列を Java 型として処理していませんでした。たとえば、次に示す最初の文は機能しましたが、2 番目の文は機能しませんでした。

java weblogic.webservice.autotype -destDir /tmp/z88 -javaTypes 'foo.bar.tests.SomeBean'

java weblogic.webservice.autotype -destDir /tmp/z88 -javaTypes '[Lfoo.bar.tests.SomeBean;'

この問題は、Array クラスを正しくロードすることで修正されました。

8.1 SP1

CR104187

GenericDataService.wsdl から wsdl2service を使用して生成された Web サービスに SOAP メッセージを送信するときにシリアライゼーションの問題が発生していました。

この問題は、maxOccurs が 1 より大きい値に設定されているネストされたモデル型が正しく機能するようにコードを修正して解決されました。

8.1 SP1

CR104719

次のシグネチャを持つ Web サービスを実装すると、

public void echoDom(Document doc)

コンパイル エラーが発生していました。

この問題は、作成時または実行時に void をドキュメント スタイルの型マッピングに追加できないようにし、ドキュメント スタイルの void 部分の書き込みを防止し、ドキュメント スタイルのドキュメント シリアライザでラッパー要素の使用を防止することで解決されました。

7.0 SP3

8.1 SP1

CR104989

java weblogic.webservice.autotype は、指定されたモデル グループの参照のみが含まれた複合型のシリアライゼーション/デシリアライゼーション クラスを生成することに失敗していました。

この問題は解決済みで、クラスが生成されるようになりました。

8.1 SP1

CR105353

useSOAP12="true" を Web サービスの web-services.xml ファイルに追加すると、Web サービスのデプロイメント時に javax.management.InstanceAlreadyExistsException が発生していました。

この問題は、コードを修正することで解決しました。

8.1 SP1

XML

変更
要求
番号

説明

問題が修正されたリリース

CR095744

使用されていなかった XMLCacheRuntimeMBean インタフェースと XMLCacheCumulativeRuntimeMBean インタフェースが非推奨になり、Javadoc から除外されました。

8.1 SP1

CR100798

XMLDsig 署名付きメッセージでは、X509SerialNumber の構文が無効でした。

この問題は X509SerialNumber がただの String 型ではなく base64 でエンコードされていたことが原因で発生していたもので、これを修正したことで解決しました。

8.1 SP1

CR102397

Xerces パーサが常に System.getProperty() を呼び出そうとしていました。このため、プロパティを取得するパーミッションのないアプレット内で例外が送出されていました。JMS を呼び出したアプレット内で、次のような例外が送出されました。

----------- Linked Exception -----------
java.rmi.MarshalException: failed to marshal
connectionCreate(Lweblogic.jms.dispatcher.DispatcherWrapper;); nested exception is:
java.rmi.UnexpectedException: Failed to parse descriptor file; nested exception is:
java.security.AccessControlException: access denied
(java.util.PropertyPermission weblogic.apache.xerces.maxentityrefs read)
[...]

コードを修正したことで、パーサがアプレット クライアントを使用してシステム プロパティを読み込むことはなくなりました。

6.1 SP6

8.1 SP1

CR103083

xsd:include でインクルードされた型のルックアップで逆参照が機能しませんでした。

この問題は、必要な場合にはルックアップがインクルード チェーンを適切に遡るようにコードを修正して解決されました。

8.1 SP1

CR103109

単純型のユーザ定義の文字列では、autotyper は失敗していました。結果として生成されるコードには、java.lang.String の非修飾参照が含まれていました。

この問題は、クラスが使用されるときには必ず完全なパッケージ名が使用されるようにすることで解決しました。

8.1 SP1

 

ページの先頭 前 次