リリース ノート
BEA WebLogic Server 8.1 へようこそ。先進的なアプリケーション サーバである BEA WebLogic ServerTM は、J2EE 1.3 技術、Web サービス、およびその他の最先端インターネット標準を実装し、可用性、拡張性、安全性に優れたアプリケーションのための信頼できるフレームワークを提供します。WebLogic Server を利用するとさまざまな異種プラットフォームとアプリケーションがシームレスに統合されるため、ネットワークで既存のソフトウェア投資を活用したり、ミッションクリティカルな e- ビジネス アプリケーションの構築に不可欠なエンタープライズ クラスのサービスとデータを共有したりすることが可能になります。
以下の節では、WebLogic Server 8.1 の一般リリースとそれに関連するサービス パックで導入された新機能および主要な改善点について説明します。
この節では、WebLogic Server 8.1 SP6 と旧バージョンの主要な相違点について説明します。内容は以下のとおりです。
サーバ サイドで DeploymentTaskRuntimeMBean
をパージするために、weblogic.Admin
ツールで PURGETASKS
コマンドを使用できます。このタスクをパージすると、サーバ サイドでの Deployer 関連のメモリ リークを回避できます。詳細については、『WebLogic Server コマンド リファレンス』の「weblogic.Admin コマンドライン リファレンス」を参照してください。
WebLobic Server では、DB2 および Informix データベースでの自動主キー生成がサポートされています。DB2 の場合、シーケンスまたは ID カラムを使用して主キーを自動的に生成できます。現在、ID カラムの使用もサポートされるようになりました。
この機能を使用するには、CMP デプロイメント記述子で <generator-type>
の値として DB2_IDENTITY
を使用します。
Oracle 9i と 10g ドライバでは、CLOB カラム値をデータベース行に挿入する場合の要件が異なります。Oracle 9i ドライバでは、CLOB 値を挿入する前にデータベース行のロックが必要になります。そのため Oracle 9i では、CLOB カラム値を含む行をテーブルに挿入する場合に WebLogic Server によって以下のことが行われます。
Oracle 9i では CLOB カラム値を含む行を挿入する場合に上記の手順が必要になりますが、Oracle 10g ではこの手順により不必要なパフォーマンスの低下が発生します。Oracle 10g ドライバでは、CLOB の処理が改善されており、CLOB カラム値を挿入する前にデータベース行をロックする必要がなくなりました。Oracle 10g では、CLOB カラム値を含む行をテーブルに挿入する場合に単一の INSERT 文が使用されます。そのため、CMP EJB のパフォーマンスが向上します。
ノード マネージャのログ ファイルは、サイズまたは時間に基づいてローテーションされるようになりました。ローテーション タイプおよびその他の関連するプロパティは、NodeManager.properties
で logFileRotationType
を使用して指定する必要があります。プロパティの有効な値は、サイズおよび時間です。
ファイル サイズ ベースのローテーションの場合は、logFileRotationType
の値として SIZE
を指定し、logFileMinSize
プロパティを使用してファイルをローテーションするサイズを指定します。デフォルト値は 5000
KB です。
時間ベースのローテーションの場合は、logFileRotationType
の値として TIME
を指定し、logFileTimeSpan
プロパティを使用してファイルをローテーションする時間間隔を指定します。デフォルト値は 24
時間です。
ローテーション済みのファイル数を制限することもできます。つまり、isNumOfFilesLimited
プロパティを使用して、保持する古いログファイル数を指定できます。ローテーション済みの古いログ ファイルの一部を削除するには、このプロパティを true
に設定します。
以下の節では、WebLogic Server Type 4 JDBC ドライバのこのリリースにおける新機能と変更点について説明します。
詳細については、『WebLogic Type 4 JDBC ドライバ ガイド』を参照してください。
ResultSet
メタデータに関するサポート。JavaDoubleToString
接続オプションを使用して double または float 値を文字列値に変換する際に最適な変換アルゴリズムを選択。ResultSetMetaDataOptions
接続オプションを使用してドライバで Select
文の ResultSet
メタデータにあるテーブル名情報を返すことが可能。EnableCancelTimeout
接続オプションを使用して、キャンセルのリクエストをタイムアウトさせることが可能。SendFloatParametersAsString
接続オプションを使用して、ドライバが float 型および double 型のパラメータを文字列または浮動小数点数としてサーバに送信可能。WireProtocolMode
接続オプションを使用して、ドライバが結果セットに対して Oracle サーバへのネットワーク トラフィックを最適化することが可能。大きいテーブルでパラメータ化されたクエリ (Prepared Statement や Callable Statement) を使用する場合、Oracle 10g データベース ユーザはパフォーマンス低下を防ぐために WireProtocolMode=2
を設定する必要がある。PacketSize
接続オプションでは、ドライバがデータベース サーバと通信するために使用するパケットのサイズを微調整可能。EnableCancelTimeout
接続オプションを使用して、キャンセルのリクエストをタイムアウトさせることが可能。EnableCancelTimeout
接続オプションを使用して、キャンセルのリクエストをタイムアウトさせることが可能。UseAlternateProductInfo
接続オプションを使用して、ドライバで DatabaseMetaData.getDatabaseProductName()
メソッドと DatabaseMetaData.getDatabaseProductVersion()
メソッドに対してより正確な情報を返すように追加処理を行なうか指定することが可能。 ErrorBehavior
接続オプションを使用して、ストアド プロシージャから返されたエラーの処理方法を微調整することが可能。
この節では、WebLogic Server 8.1 SP5 と旧バージョンの主要な相違点について説明します。内容は以下のとおりです。
ある RAC ノードで障害が発生した場合、そのノードのトランザクション ブランチが RAC クラスタ内の他のノードで利用可能になるまでに、遅延が生じることがあります。これにより、未完了のトランザクションが適切に完了できなくなり、さらにはデータベース内で未解決のロックが発生したり、データが失われたりすることがあります。このような遅延発生の可能性を防ぐために、WebLogic Server には Oracle RAC に対する XA 呼び出しの再試行を有効にする 2 つのコンフィグレーション属性、XARetryDurationSeconds
と XARetryIntervalSeconds
が用意されています。これらの属性を使用すると、RAC のフェイルオーバによる遅延を補うために、WebLogic Server トランザクション マネージャによって XA の recover、commit、および rollback の各呼び出しが指定した時間内に再試行されるようになります。詳細については、http://edocs.beasys.co.jp/e-docs/wls/docs81/jdbc/oracle_rac.html を参照してください。
マルチプールを使用して WebLogic Server と複数の Oracle RAC ノードを接続することができます。まず RAC クラスタ内の各 RAC インスタンスに、Oracle Thin Driver と共に JDBC 接続プールをコンフィグレーションします。続いて、ロード バランシングのアルゴリズムまたは高可用性のアルゴリズムを使用してマルチプールをコンフィグレーションし、そのマルチプールに接続プールを追加します。詳細については、『WebLogic JDBC プログラマーズ ガイド』の「WebLogic Server で Oracle RAC を使用する場合のコンフィグレーション オプション」を参照してください。
マルチプールによってトランザクションが必ず 1 つの Oracle RAC インスタンスに「固定」され、RAC インスタンスが利用不可能になった場合には、マルチプール レベルでフェイルオーバが処理されます。PREPARE 操作の前に、RAC インスタンスに障害があった場合、再試行の期間が時間切れになるまでこの操作が再試行されます。PREPARE 操作の後に障害があった場合は、トランザクションは別のインスタンスにフェイルオーバされます。
注意 : グローバル (XA) 接続を伴うマルチプールは、Oracle RAC で使用される場合にのみサポートされます。
詳細については、http://edocs.beasys.co.jp/e-docs/wls/docs81/jdbc/oracle_rac.html を参照してください。
WebLogic Server Administration Console には新しいオプション DISCOVERMANAGEDSERVER があります。このオプションを選択すると、管理サーバを起動した後で、管理対象サーバに対する管理制御を再確立できます。このオプションは [ドメイン|制御] ページにあります。
[サーバ|コンフィグレーション|チューニング] タブに SocketBufferSizeAsChunkSize 属性が追加されました。この属性を有効にすると、raw ソケットを介してデータを送信または受信するための WebLogic Server バッファ サイズが 4KB に設定されます。
この属性が無効になっている場合は、オペレーティング システムによってバッファ サイズが決定されます。
注意 : このオプションを使用すると一部のオペレーティング システムでパフォーマンスが向上する可能性がありますが、保証されたものではないので、推奨はされません。パフォーマンスの向上は、サーバをホストしているオペレーティング システムによって異なります。
独自の sendBatch()
API を実装した Oracle ドライバを使用する、オプティミスティックな同時実行性の EJB では、「select for update」オペレーションは使用されなくなりました。その結果、オプティミスティックな障害が発生した場合に、主キー レベルでエラーを報告することができなくなりました。
以前は、WebLogic Server 用 ISAPI プラグインで 4096 バイトより大きな HTTP GET リクエストがあると、wlproxy ログ ファイルに `request too long: XXXX, max is 4096'
エラーが記録されました。この制限はなくなり、WebLogic Server 用 ISAPI プラグインはすべてのサイズのリクエストに対応するようになりました。
コンパイル エラーが発生した後でも JSP が確実にコンパイルされるように、appc に -k
オプションが導入されました。wlappc タスクには continueCompilation
属性が追加されました。
WebLogic Server には J-Integra 2.3 を備えた JCOM が含まれています。
WebLogic Server には、RSA Crypto-J 3.5 ライブラリが同梱されています。FIPS140 の検証ステータスについては、http://csrc.nist.gov/cryptval/ の検証リストで確認してください。
ブラウザでクッキーが無効になっている場合でも、HTTPS を介したフォームベースの認証を有効にすることができます。ただし、この機能を有効にすると、ブラウザでは URL の一部として認可クッキーが表示されます。この機能を有効にするには、以下のフラグを、
-Dweblogic.http.AuthCookieURLRewritingEnabled=true
セッションに対する同時リクエスト数を制限するために、weblogic.http.session.maxConcurrentRequest プロパティが追加されました。特定のセッションに対する同時リクエスト数が指定された値を超えた場合、サーブレット コンテナはリクエストの拒否を開始します。デフォルトではこのプロパティは -1 に設定されます。その場合、サーブレット コンテナでの制限はありません。
weblogic-ejb-jar.xml
の <disable-element>
を使用して BEA-012034 を無効にできるようになりました。
WebLogic Server 8.1 SP5 より前では、複数ユーザ環境で java weblogic.marathon.ddinit.EarInit メソッドを使用すると、このメソッドが作成した一時ディレクトリに関するアクセスの問題が発生していました。また、この一時ディレクトリには一度に 1 ユーザしか書き込みができませんでした。
現在は、weblogic.marathon.ddinit.EarInit メソッドを呼び出すときに -Dmarathon.tmpdir フラグを使用して、独自の一時ディレクトリを指定できます。
InitialContext の動作が変更されて、メモリの割り当てが増えました。アプリケーションによって作成されたスレッドで InitialContext を作成する場合は、その後で InitialContext を閉じてリソースを開放し、メモリ リークが発生しないようにする必要があります。
詳細については、『Programming WebLogic JNDI』を参照してください。
既存のクラスローダ階層内にリーフ ノードとして新しい classloader-structure 要素を追加すると、新しい classloader-structure に追加されたモジュールは、アプリケーション全体を再デプロイせずにデプロイすることができます。ただし、階層内で既存の classloader-structure 要素を削除または再配置した場合は、アプリケーション全体を再デプロイする必要があります。
既存の classloader-structure に新しい module-uri を追加する場合には、既存の module-uri の後にのみ追加するようにしてください。アプリケーション全体を再デプロイせずに新しいモジュールをデプロイできます。ただし、module-uri を classloader-structure 要素間で移動または削除するときには、アプリケーション全体を再デプロイする必要があります。
この節では、WebLogic Server 8.1 SP4 と旧バージョンとの主要な相違点について説明します。この節の内容は以下のとおりです。
WebLogic Server 8.1SP4 を Oracle 9i Real Application Clusters (RAC) または Oracle 10g RAC と併用している場合、http://dev2dev.bea.com/wlserver/patch/wls81sp4_MP_OracleRAC_patch.html にあるパッチをダウンロードしてインストールする必要があります。
このパッチにより、オラクルのバグ 3428146、395790 で報告されている問題が解決されます。この問題は、何らかの障害が起こったときに RAC クラスタでトランザクション ブランチとそれに関連付けられたデータが利用不可能になる時間帯が発生し、結果として未完了のトランザクションが適切に完了しなくなり、ひいてはデータベースのデッドロックまたはデータの損失が引き起こされるというものです。こうした問題を回避するため、JDBC 接続プールのコンフィグレーションに XARetryDurationSeconds
属性が追加されました。この属性を使用すると、RAC のフェイルオーバによる遅延を補うために、WebLogic Server トランザクション マネージャによって XA の recover、commit、および rollback の各呼び出しが指定した時間内に再試行されるようになります。
加えて、このパッチをインストールすると、グローバル トランザクション (XA) を使用するアプリケーションで WebLogic JDBC マルチプールを使用できるようになります。マルチプールを使用するとデータベース接続をフェイルオーバでき、その場合に接続時フェイルオーバを使った接続プールのコンフィグレーションに関する制限や確認済みの問題がありません。また、マルチプールを使用すると XA でロード バランシングを行うことも可能で、コールバックや自動的なフェイルバックなどの付加機能も利用できます。
注意 : すでに Oracle 9i RAC のパッチ (wlplat81sp4_Oracle9iRAC_patch.jsp) をインストール済みの場合、マルチプールを使用する予定の有無に関わらず、その 9i 用パッチをこのパッチで置き換えることをお勧めします。このパッチには Oracle 9i RAC 用パッチに含まれるすべての修正が含まれており、将来的に更新の必要が生じた場合にはこのパッチが WLS 用の更新の対象になります。
このパッチをインストールした後には、ドメインのコンフィグレーションを更新する必要があります。ドメインのコンフィグレーションの更新については、「Oracle RAC に対する XA 呼び出しの再試行を有効にする」を参照してください。
WebLogic Server 8.1SP3 を Oracle 9i RAC と併用している場合は、WebLogic Server 8.1SP4 にアップグレードしてから wlplat81sp4_Oracle10gRAC_patch
を適用することをお勧めします。
コンフィグレーションの詳細と、WebLogic Server を Oracle 9i RAC と併用する場合に確認されている制限事項については、『WebLogic JDBC プログラマーズ ガイド』の「Oracle 9i RAC での XA の考慮事項と制限事項」を参照してください。
Oracle RAC の制限事項の詳細については、Oracle にお問い合わせください。
WebLogic Server と BEA WebLogic PlatformTM でサポートされているハードウェアおよびソフトウェア プラットフォームの最新情報については、「サポート対象のコンフィグレーション」を参照してください。
マルチプールを使用して WebLogic Server と複数の Oracle RAC ノードを接続するには、まず RAC クラスタ内の各 RAC インスタンスに、Oracle Thin Driver と共に JDBC 接続プールをコンフィグレーションします。続いて、ロード バランシングまたは高可用性のアルゴリズムを使用してマルチプールをコンフィグレーションし、そのマルチプールに接続プールを追加します。これは Administration Console から行っても、ドメインをコンフィグレーションできる他のどのような手段 (weblogic.Admin コマンドライン ユーティリティ、Weblogic Scripting Tool (WLST)、JMX プログラムなど) を使用して行っても構いません。詳細については、『WebLogic JDBC プログラマーズ ガイド』の「WebLogic Server で Oracle RAC を使用する場合のコンフィグレーション オプション」を参照してください。
ある RAC ノードが別の RAC ノードにフェイルオーバした場合、現在、障害の発生しているノードのトランザクション ブランチと関連するデータがクラスタ全体で利用可能になるまでに、遅延が生じることがあります。これにより、未完了のトランザクションが適切に完了できなくなり、さらにはデータベース内で未解決のロックが発生したり、データが失われたりすることがあります。このような遅延発生の可能性を防ぐために、WebLogic Server には Oracle RAC に対する XA 呼び出しの再試行を有効にする 2 つのコンフィグレーション属性、XARetryDurationSeconds
と XARetryIntervalSeconds
が用意されています。
XA 呼び出しの再試行を有効にするには、Oracle RAC インスタンスに接続する WebLogic ドメイン内のすべての JDBC 接続プールに対して、XARetryDurationSeconds
属性の値を追加で指定します。以下に例を示します。
<JDBCConnectionPool
Name="oracleRACPool"
DriverName="oracle.jdbc.xa.client.OracleXADataSource"
...
XARetryDurationSeconds=480
/>
注意 : XARetryDurationSeconds
属性は、Administration Console では設定できません。この機能を有効にするには、手動で config.xml
ファイルを編集するか、weblogic.Admin
コマンドライン ユーティリティまたは JMX プログラムを使用してコンフィグレーションを変更します。
XARetryDurationSeconds
の値は、以下の公式に従って決定します。
XARetryDurationSeconds
= (接続プールからの接続を利用するトランザクション群のトランザクション タイムアウトのうち最長の時間) + (XID がすべての RAC ノードで利用可能になるまでの遅延時間、通常 5 分未満)
たとえば、アプリケーションで設定されている最長のトランザクション タイムアウトが 180 秒の場合には、XARetryDurationSeconds
を 180 秒 + 300 秒の合計、つまり 480 秒に設定します。
注意 : 一般に XARetryDurationSeconds
は、すべてのトランザクションが適切に完了するように、必要とされる最小限の時間よりも長めに設定した方がよいでしょう。最小限必要な時間より大きな値を設定しても、通常の運用時であればアプリケーションのパフォーマンスには影響しません。この追加された処理は、準備状態にあるが完了に失敗したトランザクションにのみ影響します。
必要に応じて、XARetryIntervalSeconds
属性に値を設定することもできます。この値は、XA 呼び出しの再試行の間隔を決定します。デフォルトでは、この値は 60 秒です。値を小さくすると、XA の再試行の間隔が短くなります。ほとんどの場合は、デフォルト値で十分です。
WebLogic Server 8.1SP4 を Oracle 9i Real Application Clusters (RAC) と併用している場合、http://commerce.bea.com/d2d/wlplat81sp4_Oracle9iRAC_patch.jsp にあるパッチをダウンロードしてインストールする必要があります。
このパッチにより、オラクルのバグ 3428146、395790 で報告されている問題が解決されます。この問題は、何らかの障害が起こったときに RAC クラスタでトランザクション ID が利用不可能になる時間帯が発生し、その結果、未完了のトランザクションが適切に完了されなくなり、ひいてはデータベースのデッドロックが引き起こされるというものです。こうした問題を回避するため、JDBC 接続プールのコンフィグレーションに XARetryDurationSeconds
属性が追加されました。この属性を使用すると、RAC のフェイルオーバによる遅延を補うために、WebLogic Server トランザクション マネージャによって XA の recover、commit、および rollback の各呼び出しが指定した時間内に再試行されるようになります。
ここで説明されているパッチ wlplat81sp4_Oracle9iRAC_patch のコンフィグレーションは、WebLogic Server および Oracle RAC クラスタにおける他のコンフィグレーションの要件にもなります。WebLogic Server を Oracle RAC データベースに接続するようにコンフィグレーションする方法については、『WebLogic JDBC プログラマーズ ガイド』の「WebLogic Server での Oracle RAC の使い方」を参照してください。
このパッチをインストールした後には、ドメインのコンフィグレーションを更新する必要があります。詳細については、以下の節を参照してください。
WebLogic Server 8.1SP3 を Oracle 9i RAC と併用している場合は、WebLogic Server 8.1SP4 にアップグレードしてから wlplat81sp4_Oracle9iRAC_patch
を適用することをお勧めします。
コンフィグレーションの詳細と、WebLogic Server を Oracle RAC と併用する場合に確認されている制限事項については、『WebLogic JDBC プログラマーズ ガイド』の「Oracle 9i RAC での XA の考慮事項と制限事項」を参照してください。
Oracle RAC の制限事項の詳細については、Oracle にお問い合わせください。
WebLogic Server と WebLogic Platform でサポートされているハードウェアおよびソフトウェア プラットフォームの最新情報については、「サポート対象のコンフィグレーション」を参照してください。
XA 呼び出しの再試行を有効にするには、Oracle RAC インスタンスに接続する WebLogic ドメイン内のすべての JDBC 接続プールに対して、XARetryDurationSeconds
属性の値を追加で指定します。次に例を示します。
<JDBCConnectionPool
Name="oracleRACPool"
DriverName="oracle.jdbc.xa.client.OracleXADataSource"
...
XARetryDurationSeconds=480
/>
注意 : XARetryDurationSeconds
属性は、Administration Console では設定できません。この機能を有効にするには、手動で config.xml
ファイルを編集するか、weblogic.Admin
コマンドライン ユーティリティまたは JMX プログラムを使用してコンフィグレーションを変更します。
XARetryDurationSeconds
の値は、以下の公式に従って決定します。
XARetryDurationSeconds
= (接続プールからの接続を利用するトランザクション群のトランザクション タイムアウトのうち最長の時間) + (XID がすべての RAC ノードで利用可能になるまでの遅延時間、通常 5 分未満)
たとえば、アプリケーションで設定されている最長のトランザクション タイムアウトが 180 秒の場合には、XARetryDurationSeconds
を 180 秒 + 300 秒の合計、つまり 480 秒に設定します。
注意 : 一般に XARetryDurationSeconds
は、すべてのトランザクションが適切に完了するように、必要とされる最小限の時間よりも長めに設定した方がよいでしょう。最小限の時間より長い値を設定しても、通常の処理を行っている間であればアプリケーションのパフォーマンスには影響しないはずです。ここで設定した処理の追加による影響があるのは、準備状態にあったが完了に失敗したトランザクションのみです。
必要に応じて、XARetryIntervalSeconds
属性に値を設定することもできます。この値は、XA 呼び出しの再試行を行う間隔を決定するものです。デフォルトでは、この値は 60 秒に設定されています。値を小さくすると XA 呼び出しの再試行を行う間隔が短くなりますが、ほとんどの場合デフォルト値のままで十分に対応できます。
このパッチを使用すると、Oracle RAC インスタンスに接続するすべての JDBC 接続プールとデータ ソースのペアが、必ず、RAC の参加するグローバル トランザクションの参加者であるすべての WebLogic Server インスタンスにおいて対象とされるようになります。
サーバの起動時に、トランザクション ログからリソースのチェックポイントが読み込まれ、かつ、そのリソースが別のサーバでは利用可能と見なされる場合、リソースがローカルで登録される前にリソースの回復が完了する可能性があります。そのリソースに XARetryDurationSeconds 属性がコンフィグレーションされていないと、XA 呼び出しの再試行をせずにリソースの回復が完了することになり、結果としてデータがデッドロック状態になる場合があります。関連するすべての WebLogic Server インスタンスが接続プールを対象にするように割り当てることで、回復処理を実行するどのサーバにおいても XA 呼び出しの再試行が実行されるようになります。
データ ソースと接続プールを、対象とされるように割り当てる方法については、Administration Console オンライン ヘルプの以下の節を参照してください。
WebLogic Server 8.1 SP4 では、WebLogic Type 4 JDBC ドライバが更新されました。更新後のドライバには以下の機能拡張と新機能が備わっています。詳細については、『WebLogic Type 4 JDBC ドライバ ガイド』を参照してください。
すべての WebLogic Type 4 JDBC ドライバについて、以下の機能拡張が実現されました。
ResultSetMetaData.getTableName()
メソッドからカラムの属するテーブル名が返される。結果セットのカラムがテーブルのカラムに対するマップを持たない場合 (集約関数、リテラルなどの場合) には、ResultSetMetaData.getTableName()
メソッドから空の文字列が返されます。 以上の拡張機能を実現するために、ドライバではこれまでにはなかった処理が追加で必ず実行されます。この追加された処理によって、テーブルの情報を必要としないアプリケーションのパフォーマンスまでもが低下することのないように、integer 型の接続オプション ResultsetMetaDataOptions
が新規に追加され、このオプションを使用してドライバが有効なテーブル名を返すかどうかを制御できるようになりました。このオプションの有効な値は 1 および 0 で、デフォルトでは 0 が設定されています。
WebLogic Server 8.1SP4 のリリース時点では、WebLogic Server と DB2 との併用は動作確認されておらず、WebLogic Server 8.1SP4 配布キットには DB2 ドライバは同梱されませんでした。WebLogic Server 8.1 サービス パック 4 用のパッチが以下の URL で入手できるようになりました。
http://dev2dev.bea.com/products/wlplatform81/patch/wlplat81sp4_db2_patch.jsp
DBDate
の新規追加 :この値によって、DATE カラムに対してデータの挿入または更新を行う際にドライバでリテラルの日付の値をどのように解釈するか、および DATE カラムから取得した日付の文字列をドライバでどのような形式に変換するかを制御できます。このオプションを使用すると、以下の点についてカスタマイズが可能になります。ReceiveStringParameterType
の新規追加 : このオプションを使用して、ドライバがデータベースに対して String 型の出力パラメータをどのような形で記述するかについて指定できます。有効な値は、NVARCHAR、VARCHAR、および DESCRIBE です。デフォルトでは NVARCHAR が指定されます。tnsnames.ora
ファイルからの、クライアントサイドのロード バランシング情報の取得を含みます。CatalogOptions
に関するドライバの動作の変更 : CatalogOptions は、カタログ関数から返された結果セットに含まれる情報の型を判断するために使用するオプションです。このオプションに関して以下のように動作が変更されました。getTables
メソッドから返されるアノテーション情報が含まれるようになる。また、DatabaseMetaData の getColumns
メソッドから返されるアノテーションとカラムのデフォルトの情報も含まれます。getColumns
、getProcedures
、getProcedureColumns
、および getIndexInfo
の各メソッドから返されるシノニムが含まれる。SendFloatParametersAsString
の導入 : このオプションを使用して、float 型および double 型のパラメータを文字列または浮動小数点数のどちらとしてサーバに送信するかを指定できます。有効な値は true および false です。SendFloatParametersAsString
を false に設定した場合、ドライバは float 型および double 型のパラメータを浮動小数点数として送信します。SendFloatParametersAsString
を true に設定すると、ドライバはデータベース サーバに対して float 型および double 型のパラメータを文字列値として送信します。以前のバージョンのドライバとの下位互換性を持たせるには、SendFloatParametersAsString
を true に設定します。デフォルトの値は false です。CodePageOverride
の導入 : このオプションを使用して、Oracle サーバとの通信時にドライバが実行する文字変換の方法を制御できます。有効な値に設定すると、ドライバで文字データをデータベースの文字セットへ変換するために使用するコード ページが、特定のコード ページでオーバーライドされます。このオプションの設定は、ドライバが文字データを国別文字セットに変換する方法には影響しません。CodePageOverride
が設定されていない場合、ドライバは文字データの変換に使用するコード ページを、Oracle サーバから報告されたデータベース文字セットに基づいて自動的に判断します。UseAlternateProductInfo
の導入 : このオプションを使用すると、ドライバで DatabaseMetaData.getDatabaseProductName()
メソッドと DatabaseMetaData.getDatabaseProductVersion()
メソッドに関する、より正確な情報を返すように指定できます。false に設定した場合、ドライバは自身がサーバからログイン プロセス間に受け取った情報を返します。これは、ドライバが常に返しているバージョン情報です。true に設定すると、ドライバではさらに別のクエリも実行され、@@ バージョンの値を選択した上で受け取った情報を返します。デフォルトの値は false です。動的ファインダでリレーションシップ キャッシング機能が使用できるようになりました。動的ファインダは以下のように作成する必要があります。
Query query = qh.createQuery();
Properties props = new Properties();
props.setProperty("GROUP_NAME", "byNameGroup");
props.setProperty("SQL_SELECT_DISTINCT", "true");
props.setProperty("RELATIONSHIP_CACHING_NAME", "cacheMoreBeans");
Collection results = query.find(ejbql, props);
動的クエリには field-group と relationship-caching の両方を指定できます。
QueryProperties インタフェースを拡張した PreparedQuery パブリック インタフェースが weblogic.ejb パッケージに追加されました。詳細については、http://e-docs.bea.com/wls/docs81/javadocs/weblogic/ejb/PreparedQuery.html を参照してください。
現在の WebLogic Server 8.1 には、デフォルトの TrustManager 実装をオーバーライドできるプロパティが用意されています。このプロパティが設定されていると、デフォルトの WebLogic Server TrustManager の代わりにカスタム TrustManager が呼び出されます。
カスタム TrustManager では、動作の違いによりさまざまな理由から証明書検証が失敗したり成功したりすることがあります。カスタム TrustManager は受信時接続に使用され、送信時接続には使用されないので、テストの際には受信時接続を使用してください。
WebLogic Server の将来のリリースでは、カスタム TrustManager の機能に関して異なる実装が提供される可能性があります。
WebLogic Server に (servername).membership.directmembershiponly という新しいプロパティが用意されました。このプロパティは LDAPrealm v2 のコンフィグレーション時に指定できます。(servername) には任意のサーバ名、または空白が指定されます。
このプロパティが true に設定されている場合、LDAP 検索フィルタではグループの直接のメンバーのみがリストされます。たとえばユーザ X がグループ G1 に属していてグループ G1 がグループ G2 に属している場合、このプロパティが true であればグループ G1 のメンバーだけがリストの対象になります。デフォルトでは、このプロパティは false に設定されています。
WebLogic Server で使用するクリアテキストの文字列を暗号化する weblogic.security.Encrypt ユーティリティが新しく提供されています。このユーティリティでは、カレント ディレクトリまたは指定した WebLogic Server ドメインのルート ディレクトリの暗号化サービスが使用されます。
シングル パス ネゴシエート ID アサーション プロバイダを使用するとデスクトップ クライアントでシングル サインオンを利用できます。
WebAppServletContext.getResourcePaths() で、Web アプリケーションの weblogic.xml にコンフィグレーションされている仮想ディレクトリに加えて、Web アプリケーションのルート ディレクトリ下のディレクトリとファイルも返されるようになりました。
この節では、WebLogic Server 8.1 SP3 と以前のバージョンとの主な相違点について説明します。この節の内容は以下のとおりです。
WebLogic Platform 8.1 SP3 をインストールすると、次に示すような新しいバージョンの Java 2 SDK もインストールされます。
WebLogic ドメインを 8.1 SP2 から 8.1 SP3 へアップグレードする場合には、新しい SDK がインストールされている場所を示すように、ドメインの起動スクリプトを変更する必要があります。このスクリプトはドメインのルート ディレクトリにあります。アップグレードの対象となるドメインの種類によりますが、このスクリプトはデフォルトでは setDomainEnv または startWebLogic という名前です。
このスクリプトを変更するには JAVA_HOME 変数の値を更新して、次に例を示します。
set JAVA_HOME=C:\bea\jrockit81sp3_142_04
BEA WebLogic Workshop® アプリケーション、アプリケーションの起動スクリプト、およびサイレント モードのコンフィグレーション スクリプトについても、新しい Sun または JRockit の SDK のディレクトリを参照するように更新することをお勧めします。Weblogic Workshop アプリケーションで新しい SDK を使用するように更新する方法の詳細については、『WebLogic Platform のアップグレードに関する FAQ』を参照してください。
Sun JVM 1.4.1 と 1.4.2 の間の変更点については、Sun Microsystems Web サイトの「Enhancements and Changes in Java 2 SDK v1.4.2」(http://java.sun.com/j2se/1.4.2/changes.html) を参照してください。
WebLogic Server Process Edition は WebLogic Server 環境で実行される新しい製品であり、プロセス ベースのアプリケーション開発に対して統一されたソリューションを提供します。WebLogic Server Process Edition を使用することで、BEA WebLogic IntegrationTM のライセンスを購入する必要なく、プロセスベースのアプリケーションを構築および実行できます。
WebLogic Server Process Edition には以下のコンポーネントが含まれます。
詳細については、『BEA WebLogic Server Process Edition 8.1 ドキュメント』を参照してください。
WebLogic Server 8.1 サービス パック 3 には、Web サービスに関する以下の新機能および変更点があります。
WebLogic Web サービスに、以下の 2004 年 4 月 6 日付の OASIS 標準 Web Services Security 1.0 仕様が実装されるようになりました。
WebLogic Server 8.1 サービス パック 2 では、同仕様の草案バージョン 1.0 を実装していました。
この Web サービス セキュリティ仕様の最終実装と、サービス パック 2 以前のバージョンにおける実装には互換性がありません。これはたとえば、サービス パック 2 以前の WebLogic Web サービス セキュリティ API を使用して SOAP メッセージのデジタル署名や暗号化を行っているクライアント アプリケーションでは、サービス パック 3 の WebLogic Server インスタンス上にあるメッセージ レベルで保護された Web サービスを呼び出せない、ということを意味します。また逆に、サービス パック 3 の WebLogic Web サービス セキュリティ API を使用しているクライアント アプリケーションから、サービス パック 2 以前の WebLogic Server インスタンスにデプロイされているセキュアな Web サービスを呼び出すこともできません。
この互換性の欠如は、サービス パック 2 と 3 にそれぞれ実装されている Web サービス セキュリティ仕様の 2 つのバージョン間に行われたいくつかの変更に起因しています。具体的にいうと、2002 年 4 月時点の草案の仕様では、SOAP メッセージのセキュリティ ヘッダの特定の属性の値として Qname を使用するように規定されていましたが、2004 年 4 月の最終バージョンの仕様では、それらの属性の値に URI を使用するように変更されました。この変更は、SOAP のセキュリティと他のセキュリティ仕様 (XML デジタル署名や XML 暗号化、SAML など) に一貫性を持たせるために行われたものです。
詳細については、「メッセージレベルのセキュリティ (デジタル署名と暗号化) のコンフィグレーション」(../webserv/security.html#message_level_security) を参照してください。
SSL Web サービス クライアント アプリケーション内で、プログラムからソケットの共有を有効にする場合に、システム プロパティに加えて weblogic.webservice.binding.https.HttpsBindingInfo
SSL バインディング API を使用できるようになりました。
詳細については、「WebLogic の SSL 実装使用時の SSL ソケット共有の使用」(../webserv/security.html#ssl_socket_sharing) を参照してください。
wsdl2Service
Ant タスクが新しい属性 (generateImpl
) を持つようになりました。この属性を True
に設定すると、Ant タスクでは、WSDL ファイルに基づいた独自の Web サービスの実装を表す Java インタフェースに加えて空の実装クラスも生成されます。
詳細については、「wsdl2Service」(../webserv/anttasks.html#wsdl2Service) を参照してください。
servicegen
および source2wsdd
Ant タスクが新しい属性 (ignoreAuthHeader
) を持つようになりました。この属性を True
に設定すると、Web サービスで SOAP リクエストの Authorization
HTTP ヘッダが無視されるようになります。
詳細については「servicegen」(../webserv/anttasks.html#servicegen) および「source2wsdd」(../webserv/anttasks.html#source2wsdd) を参照してください。
WebLogic XML デジタル署名 API には、SOAP メッセージに対してデジタル署名および検証を行うクラスが含まれています。
詳細については、「WebLogic XML デジタル署名 API の使い方」(../xml/xml_xpath.html#xml_dig_sig_api) を参照してください。
weblogic.xml.security.wsse.Security API が新しいメソッド addTimestamp()
を持つようになりました。このメソッドをデータ保護された非 WebLogic Web サービスを呼び出すときに使用すると、SOAP リクエストのセキュリティ要素にタイムスタンプ、および有効期限 (省略可能) を追加できます。
詳細については、「データ保護された非 WebLogic Web サービスを呼び出すように Java コードを記述する」(../webserv/security.html#invoke_secure_non_wls_service) の更新例を参照してください。
clientgen
Ant タスクが、Web Services Interoperability (WS-I) Basic Profile Version 1.0 仕様のうち必要なセクションについて厳密に実施するようになりました。そのため、以前のバージョンの WebLogic Web サービスから動作が変更されています。
たとえば WS-I 仕様のセクション 5.6.16 では、WSDL ファイルの <fault>
要素には name
属性を指定しなければならない、と規定しています。この規定に従っていない WSDL ファイルに対して clientgen
Ant タスクを実行すると、以前は正常に完了していましたが、8.1 では以下のエラーが発生して失敗します。
[clientgen] Generating client jar for myWSDL.wsdl ...
[clientgen] weblogic.webservice.tools.wsdlp.WSDLParseException: ERROR[WSDL Parser]:There is no name
attribute found for soap:fault in binding operation <operation name="myOperation">
このように厳密に準拠した結果、バージョン 7.0 の WebLogic Web サービスの自動的に生成された WSDL ファイルに対して clientgen
を実行すると失敗するようになりました。これは、バージョン 7.0 の WebLogic Web サービスが WS-I に厳密に準拠していないため、生成された WSDL ファイルの <fault>
要素に name
属性が含まれていないことが原因です。
この問題を回避するには、WS-I に準拠するように WSDL ファイルを手動で更新するか、ポータブル スタブを使用します。
WebLogic Server 8.1 サービス パック 3 には、JDBC に関して以下の新機能および変更点があります。
WebLogic Server 8.1SP3 では、HP-UX 11 および 11i 上で動作する Oracle 9i RAC と共に使用した場合の動作が保証されています。コンフィグレーションの詳細と要件については、『WebLogic JDBC プログラマーズ ガイド』の「WebLogic Server での Oracle RAC の使い方」を参照してください。また、詳細な情報や動作確認されているバージョンの最新情報については、「サポート対象のコンフィグレーション」を参照してください。
WebLogic Server 8.1 SP3 リリースでは、BEA WebLogic JDriverTM for Oracle が非推奨になりました。このドライバは将来のリリースにおいて削除される予定です。Oracle データベースへの接続にはこのドライバではなく WebLogic JDBC ドライバを使用することをお勧めします。サポートされるデータベースのバージョンとドライバの詳細については、『WebLogic Platform 8.1 でサポート対象のコンフィグレーション』の「サポート対象のデータベース コンフィグレーション」を参照してください。
WebLogic Server 8.1 SP3 リリースには、Oracle Thin driver の Oracle 10g (10.1.0.2.0) バージョンが追加されました。このドライバは Oracle Thin driver のデフォルト バージョンとなっています。WebLogic Server と Oracle Thin driver を併用する場合の詳細については、『WebLogic JDBC プログラマーズ ガイド』の「WebLogic Server でのサードパーティ ドライバの使い方」を参照してください。
このバージョンのドライバのグローバリゼーション サポートとして、Oracle では nls_charset.zip
に代わる orai18n.jar
ファイルを提供しています。Oracle のオブジェクト型およびコレクションにおいて CHAR および NCHAR 型のデータに、US7ASCII、WE8DEC、WE8ISO8859P1、および UTF8 以外の文字セットを使用している場合には、CLASSPATH
に orai18n.jar
を含める必要があります。orai18n.jar
は WebLogic Server と共にインストールされません。このファイルは Oracle の Web サイトからダウンロードできます。
注意 : Oracle Thin driver 10g では、バッチ サイズが 1682 個までの処理に制限されます。以前のバージョンの Oracle Thin Driver では、バッチ処理のサイズに明確な制限はありませんでした。アプリケーションで大量のバッチ処理を実行すると、バッチ処理が失敗することがあります。この問題を回避するには、バッチ サイズを 1682 に制限するか、Oracle Thin Driver の 9.2.0 バージョンを使用します。Oracle では、バッチ サイズを 5 ~ 30 にすることを推奨しています。
WebLogic Server 8.1 SP3 では、WebLogic Type 4 JDBC ドライバがアップデートされています。アップデートされたドライバによって、いくつかの重要な問題が解決されました。
注意 : XA WebLogic Type 4 MS SQL Server JDBC ドライバをグローバル トランザクションで (JTA を介して) 使用している場合には、Weblogic Server のサービス パックをインストールした後に Microsoft SQL Server JDBC XA プロシージャを再インストールする必要があります。『WebLogic Type 4 JDBC ドライバ ガイド』の「JTA 用ストアド プロシージャのインストール」を参照してください。
WebLogic Server 8.1 SP3 以降のリリースでは、データ ソースをコンフィグレーションできます。そのため、データ ソースは複数の名前で JNDI ツリーにバインドされることになります。1 つの JDBC 接続プールを指し示す複数のデータ ソースをコンフィグレーションする代わりに、複数の名前を持つデータ ソースを使用できます。
詳細については、Administration Console オンライン ヘルプの「複数の名前を持つデータ ソースの JNDI ツリーへのバインディング」を参照してください。
接続プールの接続プロパティ リストに PinnedToThread
プロパティを追加して、その値を true
に設定すると、アプリケーションが接続プールからデータベース接続を予約したり、データベース接続用のスレッド間の競合を削除したりするために要する時間を最小限に抑えられます。
PinnedToThread
が有効化されている場合、WebLogic Server では、接続プールから実行スレッドまでのデータベース接続が固定されます。これは、アプリケーションでそのスレッドが接続の予約のために最初に使用されるときに実行されます。また、アプリケーションでその接続を利用し終えて connection.close()
が呼び出されたときに、実行スレッドとの接続が保持され、接続は接続プールに返されません (この設定が有効でない場合、connection.close() メソッドは接続を接続プールに返します)。そして、アプリケーションが引き続き同じ実行スレッドを使用して接続を要求したときに、すでにそのスレッドで予約されている接続が提供されます。このような方法を取ると、複数のスレッドが同時に接続の予約を試行したときに起こる、接続プールでのロックの競合が発生しなくなります。また、限られた数のデータベース接続から同じ接続を予約しようとするスレッド間に競合が発生することもありません。
詳細については、Administration Console オンライン ヘルプの「PinnedToThread JDBC 接続プール プロパティによるパフォーマンスの向上」を参照してください。
WebLogic Server 8.1 SP3 では、JDBC マルチプールの機能が以下のように拡張されています。
詳細については、『WebLogic JDBC プログラマーズ ガイド』の「マルチプールのフェイルオーバ機能の拡張」を参照してください。
WebLogic Server 8.1SP3 では、JDBC 接続プールに次に示す機能が追加されました。これにより、プールされた接続に対するデータベース接続テストの機能が向上し、接続要求処理における遅延を最小限に抑えられるようになりました。
CountOfTestFailuresTillFlush
- 以後のデータベース テストによって生じる遅延を最小限に抑えるために指定するテストの失敗回数を超えたときに、接続プール内のすべての接続を閉じる。CountOfRefreshFailuresTillDisable
- データベース障害後の接続要求処理における遅延を最小限に抑えるために指定するテストの失敗回数を超えたときに、接続プールを無効化する。 これらの機能を有効化するには、config.xml ファイルの JDBCConnectionPool オブジェクトに属性を追加します。どちらの属性についても、TestConnectionsOnReserve
を true
に設定し、かつ TestTableName
に値を指定する必要があります。詳細については、『WebLogic JDBC プログラマーズ ガイド』の「JDBC 接続プールのテスト機能の拡張」を参照してください。
WebLogic Server 8.1 SP3 では、JDBC 接続プールのコンフィグレーションに ConnProfileEnabled
属性が追加されました。この属性を true に設定すると、接続が解放されて接続プールに返されたときに常にスタック トレースが格納されます。グローバル (XA) トランザクションに関係する接続において、後続の処理で例外が送出された場合には、その例外がこのスタック トレースに報告されます。
この機能を使用して、ローカル トランザクションの処理のうち、アプリケーションのコードにより未完了のまま残されているものを検出できます。こうした未完了の処理は、JDBC 接続における後続のグローバル (XA) トランザクション処理を妨げるおそれがあります。
この機能は、通常の接続プールの処理に比べてリソースを余計に使用し、接続プールのパフォーマンスを低下させることがあるため、プロダクション環境では使用しないことをお勧めします。また、この機能は XA 以外の JDBC ドライバを使用して作成された接続には適用されません。
Administration Console の [JDBC 接続プール] -> [コンフィグレーション] -> [接続] タブにある [接続プロファイルを有効化] 属性で指定するか、または直接 config.xml
を編集することにより、この属性をコンフィグレーションできます。以下に例を示します。
<JDBCConnectionPool
ConnProfilingEnabled="true"
DriverName="weblogic.jdbcx.oracle.OracleDataSource"
Name="MyJDBC Connection Pool"
Password="{3DES}GNkMrpAbFqBKQp7N8JXy+/NE0qhBW+SU"
Properties="user=scott;portNumber=1521;SID=demo;serverName=dbserver1"
URL="jdbc:bea:oracle://dbserver1:1521"
/>
リソース マネージャが javax.transaction.xa.XAResource
.setTransactionTimeout()
メソッドをサポートしている場合に、参加している XA リソースのトランザクション ブランチのタイムアウト値を WebLogic Server トランザクション マネージャで設定できるようになりました。XA リソースのデフォルトのタイムアウト値を超えて長時間実行されるトランザクションに対して、トランザクション ブランチのタイムアウトを設定することができます。
WebLogic Server トランザクション マネージャで JDBC XA リソースに対してトランザクション タイムアウトを設定するには、config.xml
ファイルの JDBC 接続プールのタグにある以下のプロパティに値を指定します。
XASetTransactionTimeout
- ブール値をとるプロパティ。true に設定すると、WebLogic Server トランザクション マネージャでは XAResource.start
の前に XAResource.setTransactionTimeout()
を呼び出し、XATransactionTimeout
またはグローバル トランザクションのタイムアウト (秒単位) を渡します。false に設定すると、setTransactionTimeout()
は呼び出されません。デフォルト値は false です。XATransactionTimeout
- XAResource
.setTransactionTimeout()
メソッドにトランザクション タイムアウト値として渡す秒数。このプロパティに 0
を設定すると、WebLogic Server トランザクション マネージャはグローバル WebLogic Server トランザクション タイムアウト (秒単位) をメソッドに渡します (Administration Console オンライン ヘルプの「[ドメイン] --> [コンフィグレーション] --> [JTA]」を参照)。このプロパティのデフォルト値は 0
です。このプロパティを設定する場合には、グローバル WebLogic Server トランザクション タイムアウトと同じか、それよりも大きい値にする必要があります。これらのプロパティは、データベース接続の作成に XA JDBC ドライバを使用している接続プールにのみ適用されます。XA 以外の JDBC ドライバを使用している場合には無視されます。
上記で説明したように、これらの値が設定されている場合、WebLogic Server トランザクション マネージャは XAResource.setTransactionTimeout()
を呼び出します。XA リソース マネージャ (たとえば XA JDBC ドライバ) または XA リソースにおけるこのメソッドの実装によって、値がどのように使用されるかが決まります。たとえば Oracle の場合、setTransactionTimeout()
メソッドでは、セッション タイムアウト (SesTm
) が設定され、この値はトランザクションの最大アイドル時間として機能します。この動作は他の XA リソースでは異なることがあります。
XASetTransactionTimeout
および XATransactionTimeout
プロパティは Administration Console では設定できません。ドメインがアクティブでないときに、これらの属性を config.xml
に追加する必要があります。たとえば、次のように追加します。
<JDBCConnectionPool
DriverName="oracle.jdbc.xa.client.OracleXADataSource"
Name="oraclePool"
Password="{3DES}8YdvP4FQW3k="
Properties="user=SCOTT"
URL="jdbc:oracle:thin:@server:port:sid"
XASetTransactionTimeout="true"
/>
XATransactionTimeout="120"
WebLogic Server 8.1 SP3 では、JDBC 接続プールに対して次のような属性が追加され、JDBC 接続プールからのデータベース接続において 1 つの文を実行できる時間を制限できるようになりました。
StatementTimeout
- プールされた JDBC 接続で実行されている文がタイム アウトするまでの時間 (秒単位)。-1 (デフォルト値) に設定した場合には、文はタイム アウトしません。TestStatementTimeout
- 接続の初期化またはテスト時に、プールされた JDBC 接続で実行されている文がタイム アウトするまでの時間 (秒単位)。-1 (デフォルト値) に設定した場合には、文はタイム アウトしません。詳細については、『WebLogic JDBC プログラマーズ ガイド』の「プールされた JDBC 接続に対する SQL 文のタイムアウト機能の拡張」を参照してください。
注意 : これらの属性は Administration Console では設定できません。これらの機能を有効化するには、手動で config.xml
を編集する必要があります。
WebLogic Server プロキシ プラグインでは、クライアントからサーバに送信される可能性のある HTTP コマンドを制限しています。現在、プラグイン コードの検証ルールでは、WebDAV 実装に必要な以下の HTTP コマンドが許可されています。
WebLogic Server 8.1 SP3 では、セキュリティに関して以下の機能が追加されています。
tokenGroups
属性を使用して、Active Directory 認証プロバイダでグループ メンバシップのルックアップを行うようにコンフィグレーションする。tokenGroups
属性は、完全にフラット化されたユーザのグループ メンバシップを SID 値の配列として保持しています。この SID 値は Active Directory において特別な索引付けがされており、ルックアップにおいて迅速なレスポンスを得ることができます。Administration Console の WAPEnabled
属性 ([サーバ|servername|プロトコル|HTTP|詳細オプション|WAP を有効化]) でセッション ID のサイズと形式を制限することで、WAP デバイスでのセッション トラッキングが可能になります。
「URL 書き換えと Wireless Access Protocol (WAP) (../webapp/sessions.html#wap)」を参照してください。
BEA WebLogic Tuxedo ConnectorTM 8.1 SP3 には、以下の機能が追加されています。
詳細については、『WebLogic Tuxedo Connector プログラマーズ ガイド』の「WebLogic Tuxedo Connector TypedBuffer」を参照してください。
WTC および Tuxedo コントロールの両方で、VIEW バッファにおける FLD_DECIMAL タイプがサポートされています。
WebLogic Tuxedo Connector で FLD_DECIMAL がサポートされたことにより、以下の 3 つの点で機能が拡張されました。
デフォルトの実行キューを使用しないで、専用のスレッド プールをコンフィグレーションして、すべての EJB アプリケーションを処理することができます。『WebLogic Tuxedo Connector 管理ガイド』の「WebLogic Server のスレッド」を参照してください。
この節では、WebLogic Server 8.1 SP2 と以前のバージョンとの主な相違点について説明します。この節の内容は以下のとおりです。
WebLogic Server または WebLogic Platform 8.1 SP2 を、Sun Java 2 1.4.2 SDK、Oracle 10g ドライバ、SQL Server、Sybase、または DB2 データベースと共に使用している場合、WebLogic Platform 8.1 SP2 SDK1.4.2/Oracle10gdriver/Database パッチのインストールが必要なことがあります。このパッチ、およびこのパッチを必要とする特定のコンフィグレーションの説明については、以下の dev2dev Web サイトを参照してください。
http://www.beasys.co.jp/dev2dev/products/wlplatform81/patch/wlplat81sp2_patch.html
MBean タイプをインストールするデフォルトのディレクトリは、WL_HOME\server\lib\mbeantypes
です。サーバの起動時に -Dweblogic.alternateTypesDirectory=
<dir> コマンドライン フラグを使用することで、WebLogic Server が他のディレクトリで MBean タイプを検索できるようになりました。
『WebLogic Security サービスの開発』の「WebLogic Server 環境に MBean タイプをインストールする」を参照してください。
WebLogic Server 8.1 サービス パック 2 には、EJB に関して以下の新機能があります。
WebLogic QL upper
および lower
拡張機能は、大文字と小文字の違いがある以外は検索式の文字と一致する結果をファインダ メソッドが返せるように、引数の大文字と小文字を変換します。大文字と小文字の変換は文字列を照合するための一時的なものなので、データベース内に永続しません。基底のデータベースも、upper
および lower
関数をサポートしている必要があります。
upper
関数は、文字列の照合の前に、引数内の文字をすべて大文字に変換します。クエリ内で大文字で表された式で upper
関数を使用すると、大文字であるか小文字であるかに関係なく、式に一致するすべての項目が返されます。以下に例を示します。
select name from products where upper(name)='DETERGENT';
lower
関数は、文字列の照合の前に、引数内の文字をすべて小文字に変換します。クエリ内で小文字で表された式で lower
関数を使用すると、大文字であるか小文字であるかに関係なく、式に一致するすべての項目が返されます。
select type from products where lower(name)='domestic';
WebLogic Server 8.1 SP2 以降、EJBGen とその関連クラスは weblogic.jar
に含まれなくなり、独立したアーカイブとして提供されます (WebLogic Server 配布キットの WL_HOME/server/lib
の ejbgen.jar
)。EJBGen を使用するには、CLASSPATH で ejbgen.jar
を指定してください。
WebLogic Server 8.1 サービス パック 2 には、JDBC に関して以下の新機能があります。
WebLogic Server 8.1 SP2 には、DB2、Informix、Oracle、および Sybase のデータベースに接続するための BEA 製 JDBC ドライバが含まれています。この新しいドライバは JDBC 3.0 に準拠し、JDBC 2.0 の拡張機能をサポートしています。
詳細については、『WebLogic Type 4 JDBC ドライバ ガイド』を参照してください。
WebLogic Server 8.1 SP2 では、MS SQL Server 用の WebLogic Type 4 JDBC ドライバが以下のように拡張されています。
WebLogic Server 8.1SP2 では、可用性の高い環境で JDBC 接続プールのサポートを助ける以下の重要な機能が追加されました。
LoginTimeout
接続プロパティ。このプロパティは、JDBC 接続プールでデータベース接続を作成するリクエストが接続の作成を待つ時間を制限します。 StatementTimeout
JDBC 接続プール属性。この属性は、JDBC 文が実行可能な時間を制限します。TestStatementTimeout
JDBC 接続プール属性。この属性は、データベース接続をテストする JDBC クエリが実行可能な時間を制限します。この制限は、データベース接続がテストされるときに必ず適用されます。 LoginTimeout
プロパティは、接続プールのプロパティ リストに設定します。LoginTimeout
が経過した後、データベース接続を作成できない場合は JDBC ドライバが SQL 例外を送出します。『WebLogic Type 4 JDBC ドライバ ガイド』の「LoginTimeout による接続作成時間の制限」および各種ドライバの接続プロパティを参照してください。
属性 StatementTimeout
と TestStatementTimeout
は、JDBC 接続プールの config.xml
エントリで設定します。値は秒単位です。値が -1 (デフォルト) の場合、文はタイムアウトになりません。次に例を示します。
<JDBCConnectionPool Name="testpool"
Password="{3DES}0zvizFP1" Targets="myserver"
InitialCapacity="10" MaxCapacity="10"
DriverName="weblogic.jdbc.oracle.OracleDriver"
Properties="user=john;SID=wls;PortNumber=1433;
serverName=oraclehost;LoginTimeout=60";
URL="jdbc:bea:oracle://oraclehost:1433"StatementTimeout="60" TestStatementTimeout="30"
/>
注意 : StatementTimeout
属性と TestStatementTimeout
属性は、Statement.setQueryTimeout(int seconds)
の JDBC 仕様の JDBC ドライバ実装に依存します。現時点では、WebLogic Type 4 JDBC ドライバだけがこのメソッドを実装しています。
WebLogic Type 4 JDBC ドライバのこの機能に関して確認済みの問題があることにも注意してください。現在は、指定された 2 倍の時間が経過するまで文はタイムアウトになりません。たとえば StatementTimeout
が 30
秒に設定されている場合、ドライバは 60
秒が経過するまで文をタイムアウトにしません。この問題については、CR124744 で対応しています。
WebLogic Server 8.1SP2 では、このリリースに含まれている新しい WebLogic Type 4 JDBC ドライバをサポートするように dbping Java ユーティリティが拡張されました。詳細については、『WebLogic Server コマンド リファレンス』の「dbping」を参照してください。
WebLogic Server 8.1SP2 では、Oracle 仮想プライベート データベースの使用をサポートするために以下のメソッドが追加されました。
weblogic.jdbc.vendor.oracle.OracleConnection.setClientIdentifier(String)
weblogic.jdbc.vendor.oracle.OracleConnection.clearClientIdentifier(String)
これらのメソッドを使用すると、WebLogic JDBC 接続プールの接続を使用して、基底のベンダ接続を使用する必要なく Oracle 仮想プライベート データベースを使用できます。詳細については、『WebLogic JDBC プログラマーズ ガイド』の「Oracle 仮想プライベート データベースによるプログラミング」と「Oracle 拡張機能インタフェースとサポートされるメソッドの表」を参照してください。
WebLogic Server 8.1SP2 では、デフォルトですべての XA JDBC ドライバについて autocommit
が false
に設定されています。
WebLogic Server インスタンスに接続する weblogic.Admin
コマンドでは、ユーザ資格を指定する必要があります。現在では、コマンドラインで直接資格を渡したり、暗号化されていない資格をスクリプトに格納したりする代わりに、新しい STOREUSERCONFIG コマンドを使用してユーザ資格を暗号化できるようになりました。詳細については、『WebLogic Server コマンド リファレンス』の「STOREUSERCONFIG」を参照してください。
weblogic.Deployer
コマンドでも、wldeploy
や wlserver
ant タスクと同様に、weblogic.Admin
STOREUSERCONFIG コマンドで暗号化されたユーザ資格を使用できます。詳細については、「デプロイメント ツールのリファレンス」および「Ant タスクを使用した WebLogic Server ドメインのコンフィグレーション」を参照してください。
Tuxedo のコントロールを使用して、VIEW を使用する既存の Tuxedo アプリケーションに WebLogic アプリケーションを接続できないか、という問い合わせが寄せられていました。これを可能にするために、以下の 3 つのオプションが viewj
および viewj32
コンパイラ (weblogic.wtc.jatmi.viewj
および weblogic.wtc.jatmi.view32
) に新しく追加されました。
『WebLogic Tuxedo Connector プログラマーズ ガイド』の「viewj コンパイラの使用方法」を参照してください。
WebLogic Server 8.1 サービス パック 2 には、Web サービスに関して以下の新機能があります。
WebLogic Web サービスを実装する Java クラスまたはステートレス セッション EJB を記述する際に、Web サービスの見た目を記述するメタデータ タグ (@wlws
Javadoc タグで識別、省略可能) を追加できるようになりました。こうしたタグの追加により、source2wsdd
Ant タスクを使用して、Java ソース ファイルの @wlws
タグの値を反映する web-services.xml
ファイルを自動的に生成できるようになっています。
「source2wsdd タグのリファレンス」(../webserv/wlws_tags.html) を参照してください。
『WebLogic Web サービス プログラマーズ ガイド』の新しい節では、WebLogic Platform (Workshop IDE) のさまざまな技術を駆使して WebLogic Web サービスを作成する例とシナリオが紹介されています。
「WebLogic Web サービスでの WebLogic Workshop の使用(../webserv/wlw.html)」を参照してください。
この節では、WebLogic Server 8.1 SP1 と以前のバージョンとの主な相違点について説明します。この節の内容は以下のとおりです。
BEA WebLogic Server は、ローエンドの PC からハイエンドのメインフレームに至るさまざまなハードウェア上で動作します。アプリケーションのニーズを十分に満たすために必要なソフトウェアおよびハードウェア コンフィグレーションを決定するプロセスを、キャパシティ プランニングといいます。WebLogic Server のこのリリースには、『キャパシティ プランニング』が付属しています。このドキュメントではキャパシティ プランニングの要件について説明し、ベンチマーク用に 8.1 MedRec アプリケーションを使用します。
WebLogic Server 8.1 サービス パック 1 には、JDBC に関して以下の新機能があります。
WebLogic Server 8.1 SP1 には、Microsoft SQL Server データベースに接続するための新しい BEA 製 JDBC ドライバが含まれています。BEA WebLogic Type 4 JDBC MS SQL Server ドライバは、非推奨となった WebLogic jDriver for Microsoft SQL Server に置き換わるものです。新しいドライバは JDBC 3.0 に準拠しており、JDBC 2.0 拡張の一部をサポートし、パフォーマンスが向上しています。WebLogic jDriver for Microsoft SQL Server の代わりに、新しい BEA WebLogic Type 4 JDBC MS SQL Server ドライバを使用してください。
詳細については、『WebLogic Type 4 JDBC ドライバ ガイド』を参照してください。
SQL の仕様によれば、DDL または DML 処理ではローカル トランザクションが開始される場合があります。これらのトランザクションをコミットまたはロールバックするのはアプリケーションの役目です。これまでは、グローバル トランザクションの開始前にアクティブなローカル トランザクションがないか、またはローカル トランザクションの開始前にアクティブなグローバル トランザクションがないかをチェックしていなかったため、このことは問題ではありませんでした。しかし、Oracle Thin ドライバ バージョン 920 では、他のタイプ (グローバルまたはローカル) の新しいトランザクションの開始前にローカルおよびグローバル トランザクションがないかをチェックし、すでにアクティブなローカル トランザクションが存在する接続でアプリケーション (または WebLogic Server) がグローバル トランザクション (XAResource.start()) を開始しようとした場合に XAER_PROTO 例外を送出します。
この問題を回避するには、JDBC 接続プールの rollbackLocalTxUponConnClose
属性を true
に設定します。Weblogic Server により接続に対して rollback()
が呼び出され、接続がクリーンアップされてから接続プールに戻されます。この属性を有効にするとパフォーマンスが低下します。ロールバック呼び出しではデータベース サーバとの通信が必要となるからです。
rollbackLocalTxUponConnClose
属性を設定するには、JDBCConnectionPoolMBean
の setRollbackLocalTxUponConnClose()
メソッドを使用するか、config.xml ファイルの JDBCConnectionPool
タグに手作業で追加します。次に例を示します。
<JDBCConnectionPool
DriverName="oracle.jdbc.xa.client.OracleXADataSource"
Name="oraclePool"
Password="{3DES}8YdvP4FQW3k="
Properties="user=SCOTT"
URL="jdbc:oracle:thin:@server:port:sid"RollbackLocalTxUponConnClose="true"
/>
RollbackLocalTxUponConnClose
属性は、Administration Console では設定できません。
WebLogic Server 8.1 SP1 では、Oracle 仮想プライベート データベース (Virtual Private Database : VPD) がサポートされています。VPD は、サーバによって強制されるアプリケーション定義のファイン グレイン アクセス制御と、Oracle 9i データベース サーバのセキュアなアプリケーション コンテキストを組み合わせたものです。
『WebLogic JDBC プログラマーズ ガイド』の「Oracle 仮想プライベート データベースによるプログラミング」を参照してください。
コンソール拡張タグ ライブラリには、Administration Console の拡張機能で標準の BEA バナーを表示する新しい JSP タグが追加されています。
『Administration Console の拡張』の「<wl:standard-banner> タグ」を参照してください。
アプリケーションの一部のクラスでは、WebLogic JMS でインデックスを付けることによりトピック サブスクライバのメッセージ セレクタを最適化できます。これらのアプリケーションには、1 つまたは複数のユニークな識別子を持つメッセージと、これらの識別子に基づいてフィルタ処理を行う数千のサブスクライバが存在します。
一般的な例としては、各サブスクライバが異なるユーザに対応し、各メッセージに 1 つまたは複数の対象ユーザのリストが含まれるインスタント メッセージング アプリケーションがあります。
『WebLogic JMS プログラマーズ ガイド』の「トピック サブスクライバのメッセージ セレクタへのインデックス付けによるパフォーマンス最適化」を参照してください。
このリリースでは、weblogic-ejb-jar.xml
デプロイメント記述子に新しいセキュリティ関連の要素が 2 つ導入されています。新しい要素、passivate-as-principal-name
と remove-as-principal-name
は、セキュリティ違反による ejbPassivate
および ejbRemove
障害を処理します。
『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「passivate-as-principal-name」および「remove-as-principal-name」を参照してください。
WebLogic Server 8.1 サービス パック 1 には、Web サービスに関して以下の新機能があります。
web-services.xml
デプロイメント記述子ファイルで複数のセキュリティ仕様を指定し、さまざまなセキュリティ仕様を Web サービスの操作に関連付けられるようになりました。セキュリティ仕様には、クライアント アプリケーションが Web サービス操作を呼び出したときに生成される SOAP メッセージをどのように暗号化してデジタル署名するかが定義されます。
特定の操作を呼び出す SOAP リクエストで SOAP 応答とは異なるセキュリティ仕様が使用されるように指定することもできます。
「オペレーションを特定のセキュリティ仕様に関連付ける」を参照してください。
メッセージ セキュリティ (暗号化またはデジタル署名) がコンフィグレーションされた WebLogic Web サービスをクライアント アプリケーションが呼び出すと、WebLogic Server は自動的に SOAP 応答にタイムスタンプを追加します。また、Web サービスをコンフィグレーションして、SOAP リクエスト中のタイムスタンプを要求したり、有効期限を設定したりできます。
「タイムスタンプを使用する」を参照してください。
WebLogic Web サービスを XML スキーマ ファイルから実装および構築し、その XML スキーマを開発プロセスにわたって保持して、デプロイする Web サービスの WSDL にその XML スキーマを含めることができます。
「XML スキーマを使用して Web サービスをアセンブルする」を参照してください。
autotype
Ant タスクでは、データ型マッピング情報を含む生成済みファイルに XML スキーマが含まれるようになりました。このファイルのデフォルト名は types.xml
です。以前のリリースでは、この生成ファイルには <type-mapping>
および <type-mapping-entry>
デプロイメント記述子要素のみが含まれていました。現在は、<types>
要素も含まれるようになっています。
同様に、autotype
または servicegen
Ant タスクを使用してデータ型コンポーネントを生成する場合には、typeMappingFile
属性で示されたデータ型マッピング ファイルに <types>
要素 (XML スキーマを指定) を含められるようになっています。Ant タスクは、生成される XML スキーマまたはデータ型マッピング情報を既存の情報と結合します。
「autotype」または「servicegen」を参照してください。
WebLogic Server は、サービス固有例外の複合データ型を、Java API for XML-Based RPC (JAX-RPC) 1.0 仕様に従って適切に処理します。
これは新しい機能ではなく、確認済みの問題 CR101160 の修正です。
web-services.xml
デプロイメント記述子ファイルの <web-service>
要素の exposeHomepage="False"
属性を指定することで、WebLogic Web サービスのホーム ページへのアクセスを制限できるようになりました。
「Web サービスの WSDL とホーム ページを保護する」を参照してください。
『WebLogic Web サービス プログラマーズ ガイド』の「セキュリティのコンフィグレーション」の新しい節で、メッセージ セキュリティ (暗号化とデジタル署名) が WebLogic Server でどのように機能するのかについて詳しく説明されています。
この節では、WebLogic Server 8.1 と旧バージョンの主要な相違点について説明します。前節では、サービス パック リリースでの変更点について説明しました。この節の内容は以下のとおりです。
WebLogic Server には、J2EE モジュールとモジュールのデプロイメントに関連する以下の新機能と変更点があります。
開発環境では、新しい WebLogic 分割開発ディレクトリ構造を使用して WebLogic Server エンタープライズ アプリケーションを構築できます。単一のアーカイブ EAR ファイルまたは展開されたエンタープライズ アプリケーション ディレクトリ構造にするのではなく、分割開発ディレクトリ構造では、2 つの並列的なディレクトリを設けます。WebLogic Server の分割開発ディレクトリ構造には、従来の構造に比べていくつかの重要なメリットがあり、プロダクション環境で使用するための従来の EAR ファイルとして構築、パッケージ化、およびデプロイするための一連の Ant タスクが付属しています。
『WebLogic Server アプリケーションの開発』の「分割開発ディレクトリ環境の概要」を参照してください。
エンタープライズ アプリケーション用のカスタム クラスローダの階層を作成できるようになりました。この機能を使用すると、クラスの参照を制御しやすくなり、.EAR
内のモジュールを簡単に再ロードできるようになります。この機能を実現するには、weblogic-application.xml
デプロイメント記述子ファイルに classloader-structure
要素を定義します。
『WebLogic Server アプリケーションの開発』の「カスタム モジュール クラスローダの階層」を参照してください。
抽象クラス weblogic.application.ApplicationLifeCycleListener
を拡張して、アプリケーションのさまざまなライフサイクル イベントが発生したときにアプリケーション固有のアクションを実行することができます。WebLogic Server では、以下のライフサイクル イベントが定義されます。
メソッドを関連付けることにより、上記のライフサイクル イベントごとにアクションを実行できます。
『WebLogic Server アプリケーションのデプロイメント』の「アプリケーション ライフサイクル イベント」を参照してください。
APP-INF/lib
ディレクトリを使用すると、アプリケーション内で共有されるクラス ファイルをまとめることができます。APP-INF/lib
に格納されているクラスは、アプリケーションの CLASSPATH
の末尾に自動的に追加されます。このため、すべてのアプリケーション モジュールは共有クラスにアクセスできます。
『WebLogic Server アプリケーションの開発』を参照してください。
WebLogic Server は、デプロイ済みモジュール コンテナに含まれるデプロイメント記述子の属性の更新をサポートします。
WebLogic Server は、デプロイ済みアプリケーションの weblogic-application.xml
デプロイメント記述子にある、アプリケーション スコープの JDBC 接続プール プロパティの更新をサポートします。
weblogic.Deployer
の enforceClusterConstraints
オプションが変更されました。管理サーバに起動オプションを指定するか、Administration Console を使用して制御することで、ドメイン全体に対するクラスタの制約を有効または無効にできます。
『WebLogic Server アプリケーションのデプロイメント』の「2 フェーズ デプロイメントによるクラスタ制約の強制」を参照してください。
アーカイブ ファイルまたは展開されたアーカイブ ディレクトリをデプロイするときに使用する代替デプロイメント記述子ファイルを指定できます。この機能を使用すると、アーカイブ自体の内容を変更したり再パッケージ化したりせずに、アプリケーションの実行時のデプロイメント コンフィグレーションを変更することができます。代替デプロイメント記述子を使用するには、weblogic.Deployer
ユーティリティで以下のオプションのいずれかまたは両方を使用します。
-altappdd
- 代替 J2EE デプロイメント記述子の名前 (application.xml
など) を指定します。-altwlsappdd
- 代替 WebLogic Server デプロイメント記述子の名前 (weblogic-application.xml
など) を指定します。『WebLogic Server アプリケーションのデプロイメント』を参照してください。
WebLogic Server では、application.xml
ファイルのない複数の J2EE モジュールのデプロイをサポートしなくなりました。デプロイメントの対象にディレクトリを選択する場合、そのディレクトリには、スタンドアロンの J2EE モジュール (EJB、Web アプリケーション、リソース アダプタ)、または application.xml
ファイルと関連付けられた複数のモジュール (エンタープライズ アプリケーション) が格納されている必要があります。
以前のバージョンのサーバよりも、J2EE モジュールのデプロイメントの速度が向上しました。また、weblogic.Deployer
と Administration Console の両方で、デプロイメント プロセスの詳細なフィードバックを取得できます。フィードバックは新しい JMX 通知およびフィルタ (weblogic.management.DeploymentNotification
および weblogic.management.DeploymentNotificationFilter
) で提供され、ユーザのアプリケーションで使用できます。
「WebLogic クラスの Javadoc」を参照してください。
WebLogic Server Administration Console のインタフェースが改良されて、プロダクションレベルのデプロイメント記述子を管理者が編集できるようになりました。Administration Console ではデプロイメント記述子のすべての編集を行うことはできませんが、管理者に関係のある多くの記述子要素は、Administration Console のフィールドから直接編集できます。これらの記述子は、関連するモジュールの再パッケージ化や再デプロイを行わずに編集することができます。
WebLogic Builder アプリケーションでは、デプロイメントに使用する J2EE モジュール デプロイメント記述子を完全に編集できます。
Administration Console では、さまざまなタイプの J2EE モジュールのデプロイに役立つ、新しいデプロイメント アシスタントも用意されています。アシスタントでは、デプロイメント ファイルと対象サーバの選択の手順が示され、デプロイメントのステージング モードの選択が自動化されます。
「Administration Console オンライン ヘルプ」を参照してください。
weblogic.Deployer
ユーティリティには、JSR88 で指定された -distribute
、-start
、および -stop
コマンドが用意されています。コマンドのヘルプも、基本的なコマンドと高度なコマンドに簡単にアクセスできるように再編されました。
『WebLogic Server アプリケーションのデプロイメント』を参照してください。
WebLogic Server 8.1 には、以下の新しい改良されたサーバ管理機能があります。
このバージョンの WebLogic Server には、初の市販サーバサイド Java 仮想マシンである BEA WebLogic JRockit 8.1 が含まれています。
JRockit の利点と用法の詳細については、『BEA WebLogic JRockit SDK ドキュメント』を参照してください。
Administration Console では、JRockit 仮想マシン (VM) で実行されるサーバの追加の実行時データを提供します。
Administration Console ヘルプの「JRockit 仮想マシンのモニタ」を参照してください。
コンフィグレーション ウィザードは、WebLogic Server の管理ドメインとサーバ コンフィグレーションを作成する Java アプリケーションです。WebLogic Server 8.1 では、コンフィグレーション ウィザードを使用して、データベース接続 (JDBC)、メッセージング サービス (JMS)、セキュリティ グループ、セキュリティ ロール、およびユーザ アカウントなどのリソースをコンフィグレーションできるようになりました。
また、WebLogic Server 8.1 より前のリリースでは、コンフィグレーション ウィザードでは新しいドメインの作成しかできませんでした。このリリースでは、コンフィグレーション ウィザードで既存のドメインを変更することもできます。
『コンフィグレーション ウィザードの使い方』を参照してください。
ドメインの作成時に、ドメインを開発環境とプロダクション環境のどちらで使用するのかを指定できるようになりました。WebLogic Server では、指定する環境のタイプに応じて、さまざまなサービスに異なるデフォルト値を使用します。
『コンフィグレーション ウィザードの使い方』の「コンフィグレーションの起動モードの相違点」を参照してください。
メッセージ カタログは、配布可能なマニュアルの一部として e-docs に HTML 形式で用意されています。検索エンジンを使用して、エラー番号でメッセージを検索できます。
「メッセージ カタログのインデックス」を参照してください。
このバージョンの WebLogic Server には、JDK 1.4 ロギング API のサポートが含まれています。この API を使用すると、サーバ インスタンスがローカル ログ ファイル、標準出力、およびドメイン全体のメッセージ ログに書き込むメッセージをフィルタ処理できます。WebLogic Server 8.1 より前のリリースでは、サーバ インスタンスがドメイン全体のログ ファイルに書き込んだメッセージだけをフィルタ処理できました。サーバから標準出力への出力に対するフィルタ処理の最小レベルを確立することもできました。
さらに、アプリケーションで WebLogic Server ロギング サービスからログ メッセージを受信する場合、Java Management Extensions (JMX) の代わりに JDK 1.4 ロギング API を使用できます。JDK 1.4 ロギング API は JMX API よりも使いやすくなっています。
『WebLogic Server ロギング サービスの使い方』の「WebLogic Server ログ メッセージのフィルタ処理」および「メッセージのサブスクライブ」を参照してください。
新しいサーバ属性 setLogRemoteExceptionsEnabled
は、サーバのメッセージ ログに、リモート システムで発生した例外が含まれるかどうかを決定します。
この属性のデフォルト値は false
です。この属性の値を変更するには、JMX API または次の weblogic.Admin
コマンドを使用します。
java weblogic.Admin -username
username
-password
password
set -mbean "
domain-name
:Name=
server-name
,Type=Server" -property LogRemoteExceptionsEnabled true
たとえば、サンプルの MedRecServer の場合は次のとおりです。
java weblogic.Admin -username weblogic -password weblogic set -mbean "medrec:Name=MedRecServer,Type=Server" -property LogRemoteExceptionsEnabled true
weblogic.management.configuration.ServerMBean
については「Javadoc」を参照してください。また、『WebLogic Server コマンド リファレンス』の「weblogic.Admin コマンドライン リファレンス」を参照してください。
WebLogic Server 8.1 タイマー サービスをコンフィグレーションすると、特定の日時に、または一定の間隔で通知を送信することができます。タイマー サービスは、標準の JMX タイマー サービスを、WebLogic Server の実行スレッド内および WebLogic Server ユーザ アカウントのセキュリティ コンテキスト内で実行できるように拡張したものです。
『WebLogic JMX Service プログラマーズ ガイド』の「WebLogic タイマー サービスを使用した通知の生成と受信」を参照してください。
コンフィグレーションを変更すると、管理サーバによって自動的にドメインの config.xml
の古いコピーがアーカイブされます。デフォルトでは、ドメインの /configArchive
サブディレクトリに、config.xml
の最近のバージョンが 5 つまで保存されます。Administration Console を使用して、ドメインで格納されるアーカイブ ファイルの最大数をコンフィグレーションできます。
『WebLogic Server のコンフィグレーションと管理』の「前バージョンの config.xml のアーカイブ」を参照してください。
3 つの新しいロード バランシング アルゴリズムは、外部 Java クライアントとクラスタ内のサーバ インスタンスの間でオープンされる IP ソケットの数を最小限に抑えます。新しいアルゴリズムでは、クラスタ内のオブジェクトにアクセスするときに、クライアントの既存のサーバ接続を考慮することによって、サーバ アフィニティを保持します。
新しいポリシーは、JMS クライアント アプリケーションだけでなく、EJB や他の RMI オブジェクトに適用できます。
『WebLogic Server クラスタ ユーザーズ ガイド』の「クラスタでのロード バランシング」を参照してください。
ノード マネージャは管理対象サーバのライフ サイクルを開始および管理する Java アプリケーションです。WebLogic Server 8.1 では以下の機能が追加または改良されました。
『WebLogic Server のコンフィグレーションと管理』の「ノード マネージャのコンフィグレーション、起動、および停止」を参照してください。
ネットワーク チャネルの機能が強化されて、コンフィグレーション プロセスが簡単になりました。ネットワーク チャネルの機能は、WebLogic Server 7.x でネットワーク チャネルとネットワーク アクセス ポイントの両方で求められた範囲にまで広がっています。このバージョンの WebLogic Server では、ネットワーク アクセス ポイントが非推奨になりました。
ネットワーク チャネルを使用すると、サービスの品質の管理、さまざまな接続要件への適合、システム リソースやネットワーク リソースの利用の効率化を行えます。ネットワーク チャネルを使用すると、以下のことができます。
WebLogic Server 8.1 には、ネットワーク チャネルのコンフィグレーションに適用される新しいガイドラインもあります。
『WebLogic Server のコンフィグレーションと管理』の「ネットワーク リソースのコンフィグレーション」を参照してください。
管理対象サーバ独立 (MSI) モードを使用すると、管理サーバが使用できない場合でも管理対象サーバを起動できます。
以前のリリースでは、管理対象サーバは管理サーバにアクセスできない場合、管理対象サーバのルート ディレクトリにある config.xml
ファイルからコンフィグレーションを取得していました。WebLogic Server 8.1 では、管理対象サーバはルート ディレクトリにある msi-config.xml
ファイルからコンフィグレーションを取得します。
管理対象サーバの MSI レプリケーションを有効にすると、管理サーバにより msi-config.xml
ファイルが作成されます。このファイルはドメインの config.xml
ファイルのレプリカです。
管理サーバとルート ディレクトリを共有する管理対象サーバに対して、MSI レプリケーションを有効にできるようになりました。WebLogic Server 8.1 より前のリリースでは、管理サーバとルート ディレクトリを共有する管理対象サーバに対して MSI レプリケーションを有効にすると、ドメインの config.xml
ファイルがレプリカで上書きされました。
管理対象サーバの動作中に管理サーバで障害が発生した場合、または管理対象サーバの動作中に管理サーバを停止した場合、管理サーバを再起動すると、管理サーバは動作中の管理対象サーバを検出して管理制御を再確立します。
WebLogic Server 8.1 では、管理サーバは正常停止または強制停止された管理対象サーバの検出は行いません。ただし、JVM を強制停止する、またはサーバが実行されているコマンド プロンプト (シェル) を強制終了することで管理対象サーバを停止した場合、管理サーバは管理対象サーバの検出を行い、管理対象サーバが動作していないと判別すると例外を送出します。
管理サーバがすべての管理対象サーバを自動的に検出できない場合は、新しい weblogic.Admin コマンド DISCOVERMANAGEDSERVER
を使用できます。
『WebLogic Server コマンド リファレンス』の「weblogic.Admin コマンドライン リファレンス」を参照してください。
WebLogic Server 8.1 のデプロイメント記述子では、JNDI 名における等号 (=
) の使用をサポートしていません。たとえば、次のような宣言はサポートされなくなりました。
<provider-url> ldap://snoopy</provider-url>
<connection-factory-jndi-name>cn=myTest</connection-factory-jndi-name>
以前のリリースでは、WebLogic Server のデプロイメント サブシステムが等号をアンダースコア (_
) に変換していました。デプロイメント サブシステムは等号を含む JNDI 名に遭遇すると例外を送出するようになりました。
WebLogic Server Administration Console が改良されて、初心者にも上級ユーザにも使いやすくなりました。以下に、Administration Console のさまざまな変更点の一部を示します。
Administration Console の変更点の詳細については、「Administration Console オンライン ヘルプ」を参照してください。
weblogic.Admin
ユーティリティには、新しいコマンドが用意されています。
BATCHUPDATE
は、複数の weblogic.Admin
コマンドを、連続したシーケンスで実行する。weblogic.Admin
コマンドごとに別々の JVM を呼び出す必要がなくなります。CLUSTERSTATE
は、クラスタ内のサーバの数と状態を返す。DISCOVERMANAGEDSERVER
によって、管理サーバは管理対象サーバに対する管理制御を再確立する。QUERY
は、指定するパターンに WebLogicObjectName
が一致する WebLogic Server MBean を検索する。STARTCLUSTER
および STOPCLUSTER
は、クラスタ内のすべてのサーバ インスタンスを起動および停止する。TEST_POOL
は、接続を予約および解放することで、接続プールをテストする。VALIDATECLUSTERCONFIG
は、ドメインの config.xml
ファイルにあるクラスタ関連の属性のフォーマットを検証する。-adminurl
引数を使用すると、すべてのサーバ インスタンスの実行時 MBean に管理サーバからアクセスできる。weblogic.Admin
コマンドは、コマンドが成功した場合は終了コード 0、コマンドが失敗した場合は終了コード 1 を返す。weblogic.Admin
コマンドは T3、T3S、HTTP、および HTTPS に加えて IIOP プロトコルをサポートする。weblogic.Admin STARTINSTANDBY
コマンドは削除された。『WebLogic Server コマンド リファレンス』の「weblogic.Admin コマンドライン リファレンス」を参照してください。
WebLogic Server の OOTB (out-of-the-box) パフォーマンスを向上するために、以下のパフォーマンス関連の属性が調整されました。最適な WebLogic Server のプロダクション チューニング値は、環境やアプリケーションによって異なります。
ThreadCount
) に対するプロダクション モードのデフォルト値は 15 から 25 に増加した。開発モードのデフォルト サイズは 15 のままです。MaxCapacity
) のデフォルト値は実行キュー スレッド プールのデフォルト サイズと同じになった。プロダクション モードの場合は 25、開発モードの場合は 15 です。NativeIOEnabled=true
) を使用する場合、ソケット リーダー マルチプレクサ スレッドには独自の実行キューが用意されて、デフォルト実行キューからスレッドを借りなくなった。このため、デフォルト実行スレッドはアプリケーションの作業に解放されます。 StatementCacheSize
パラメータはデフォルトで有効になり、10 に設定される。この設定により、ネットワークの往復回数とデータベースの準備処理の両方が軽減されます。 default
実行キューは、このリリースで weblogic.kernel.Default
という名前に変更されました。__weblogic_admin_html_queue
実行キューは weblogic.admin.HTTP
という名前に変更されました。__weblogic_admin_rmi_queue
実行キューは weblogic.admin.RMI
という名前に変更されました。
注意 : デフォルト実行キューを再コンフィグレーションしたり変更したりしないでください。
システム管理のマニュアルはこのリリースに合わせて再編されました。これまで『管理者ガイド』に含まれていた一部のトピックは、表 1-1 に示す場所に掲載されています。システム管理のマニュアルの完全なインデックスについては、「システム管理」を参照してください。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
新しい J2EE サンプル アプリケーション Avitek Medical Record (MedRec) は、J2EE プラットフォームのあらゆる側面を簡潔に例示しています。MedRec はすべてのレベルの J2EE 開発者に向けた学習用ツールとして設計されています。各 J2EE コンポーネントの用法を紹介し、コンポーネントの対話やクライアント開発のベスト プラクティスとなるデザイン パターンを例示します。Medical Record は Windows マシンの [スタート] メニューからアクセスできます。リナックスおよび他のプラットフォームの場合は、WL_HOME\samples\server\config\medrec
ディレクトリから起動できます。
また、WebLogic Server のサンプル アプリケーションは、サンプル データストアとして PointBaseR バージョン 4.3 サーバを使用するように更新されました。
WebLogic Server 8.1 には、以下の新しい改良されたセキュリティ機能があります。
新しいウィンドウとオプションの改良により、Administration Console、weblogic.Admin
ツール、MBean、アプリケーション、COM、EIS、EJB、JDBC、JNDI、JMS、サーバ、および Web アプリケーションなどの WebLogic リソースに対するアクセスを管理しやすくなりました。
Administration Console オンライン ヘルプの「セキュリティ」を参照してください。
WebLogic Server の SSL 実装では、プライベート キーおよび信頼性のある CA を格納するためのキーストアの使用がサポートされています。キーストアは、WebLogic Server の以前のリリースで使用されるフラット ファイルに、一定レベルの保護を追加します。
SSL およびデモ用キーストアのデフォルト コンフィグレーションが用意されているため、ユーザはセキュアな通信をすぐに利用できます。アシスタントが実装されたため、プロダクション環境用のキーストアと SSL のコンフィグレーションが簡単になりました。
Administration Console オンライン ヘルプの「キーストアおよび SSL のコンフィグレーション」を参照してください。
Java Cryptography Extension (JCE) は、強力な暗号、鍵の生成と照合、および Message Authentication Code アルゴリズムを使用して暗号化を行うためのフレームワークを提供するパッケージ群です。
『WebLogic Server 8.1 および WebLogic Express の紹介』の「WebLogic Server セキュリティ サービス」を参照してください。
このリリースの WebLogic Server では、以下の EJB 機能と変更点が導入されています。
appc
は、デプロイメント用の J2EE ear ファイル、ejb-jar ファイル、または war ファイルをコンパイルおよび検証するための単一のツールです。これまでは、ear ファイル内のすべてのモジュールをコンパイルする場合、ユーザは ear の個々のコンポーネントを抽出し、適切なコンパイラ (jspc または ejbc) を手動で実行して、デプロイメント用モジュールを準備しなければなりませんでした。appc
はこのプロセスを自動化し、従来にはない追加の検証チェックをデプロイメント前に実行します。
appc
の詳細については、『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「appc」を参照してください。
WebLogic Server は、既存のバッチ挿入 (従来の「一括挿入」) のサポートに加えて、バッチ更新とバッチ削除をサポートします。また、EJB コンテナはバッチ処理間の依存関係チェックを実行することで例外を防止します。
『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「処理の順序付けとバッチ処理」を参照してください。
以前は、weblogic-cmp-rdbms-jar.xml
の create-default-dbms-tables
要素が True
に設定されている場合、データベース テーブルが自動的に作成されていました。ただし、テーブルがすでに存在する場合、テーブルは再作成されませんでした。このリリースからは、基底のテーブル スキーマが変更された場合、つまり、コンテナ管理の永続性フィールドが変更された場合に、WebLogic Server は既存のテーブルを再作成します。
『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「自動テーブル作成 (開発のみ)」を参照してください。
スループットが高い状況では、カスケード削除を実行するトランザクションが、カスケード削除を実行しないトランザクションと同じ Bean にアクセスする必要がある場合に、排他的な同時方式を使用するアプリケーションでデッドロックが発生する可能性があります。このリリースには、weblogic-cmp-rdbms-jar.xml
デプロイメント記述子ファイルの lock-order
要素を使用して、このシナリオにおけるデッドロックを防止する機能があります。
『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「Exclusive 同時方式およびカスケード削除を使用するトランザクションのデッドロックの回避」を参照してください。
ある EJB アプリケーションを繰り返し開発する場合、開発者は EJB の実装クラス ファイルに多くの変更を加えて、通常は開発中に何度も EJB モジュールを再デプロイします。
これまで、ある実装クラスを再デプロイするには、他のすべての実装クラスとユーティリティ クラスも含めて、その実装クラスが属する EJB モジュール全体を再ロードしなければなりませんでした。新しい機能では、再ロードの粒度を個々の実装クラスのレベルまで指定することができます。
この機能の詳細な説明については、『WebLogic Server アプリケーションの開発』の「実装クラスのための個々の EJB クラスローダ」を参照してください。
EJB QL のコンパイラ エラー メッセージでは、クエリのどの部分にエラーがあるのかを特定できるビジュアルな表示が用意され、コンパイルごとに複数のエラーを報告できるようになりました。
『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「EJB QL エラー報告機能」を参照してください。
WebLogic Server では、EJB の一括更新、オプティミスティックな同時実行性、フィールド グループ、リレーションシップ キャッシング、および EJB デプロイメントにおけるパフォーマンスが向上しました。
このリリースでは、WebLogic Server Administration Console の新しいタブ ページによって、パフォーマンスのモニタも大幅に改良されました。
『WebLogic Server パフォーマンス チューニング ガイド』の「WebLogic Server EJB のチューニング」を参照してください。
再ロード可能な J2EE モジュールの機能を使用すると、エンタープライズ アプリケーション内の他のコンポーネントとは別に EJB を再デプロイできます。
『WebLogic Server アプリケーションの開発』を参照してください。
Administration Console には、EJB のデプロイに役立つ EJB モジュール デプロイメント アシスタントが用意されています。「Administration Console オンライン ヘルプ」を参照してください。
一部の EJB 関連のデプロイメント記述子要素で、J2EE 1.3 仕様に準拠した新しいデフォルト値が用意されています。
weblogic-ejb-jar.xml
要素の詳細については、『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「weblogic-ejb-jar.xml デプロイメント記述子のリファレンス」を参照してください。
weblogic-cmp-rdbms-jar.xml
要素の詳細については、『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「weblogic-cmp-jar.xml デプロイメント記述子のリファレンス」を参照してください。
WebLogic Server は、weblogic-cmp-rdbms.xml
の dbms-column-type
要素で、LongString
および SybaseBinary
の 2 つの値を新しくサポートします。
『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「dbms-column-type」を参照してください。
weblogic-cmp-rdbms-jar.xml
の relationship-caching 内で caching-element タグを使用して、関連する Bean の cmr-field
と、関連する Bean 内の group-name
を指定します。
WebLogic Server EJB コンテナでは複数の caching-element 下位要素が許可されるようになりました。関連する DTD エントリは次のとおりです。
<!ELEMENT caching-element (
cmr-field,
group-name?,
caching-element*
)>
<!ELEMENT caching-element (
cmr-field,
group-name?,
caching-element?
)>
新しい機能では、weblogic-ejb-jar.xml
の新しい disable-warning
要素を使用して、デプロイメント時に特定の警告メッセージを無効にできます。
『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「EJB デプロイメントの警告メッセージの無効化」を参照してください。
セキュリティ関連の新しいデプロイメント記述子要素が weblogic-ejb-jar.xml
に 2 つ追加されました。
externally-defined
要素は、このリリースで非推奨になった global-role
に代わるもの。『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「externally-defined」を参照してください。run-as-role-assignment
要素は、ejb-jar.xml
デプロイメント記述子で指定される特定の security-identity/
/run-as/role-name
を run-as-principal-name
にマップするために使用する。『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「run-as-role-assignment」を参照してください。これらの要素の詳細と、EJB の保護との関係の概要については、『WebLogic Security プログラマーズ ガイド』の「エンタープライズ JavaBean (EJB) のセキュリティ対策」を参照してください。
オプティミスティックな同時実行性を使用する場合に、EJB コンテナがチェックする必要のあるテーブル内の行を指定するには、weblogic-cmp-rdbms-jar.xml
の verify-rows
要素を使用してください。この要素を使用すると、オプティミスティックなチェックを、トランザクションが読み込むすべての行に対して実行するのか、トランザクションが更新または削除する行に対してのみ実行するのかを選択できます。
『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「verify-rows」を参照してください。
EJB コンテナがテーブル作成スクリプトを書き込む DDL
ファイル名を指定するには、weblogic-cmp-rdbms-jar.xml
の新しい default-dbms-tables-ddl
要素を使用してください。
『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「default-dbms-tables-ddl」を参照してください。
このリリースからは、weblogic-ejb-jar.xml
の dispatch-policy
要素を使用して、メッセージ駆動型 Bean をコンフィグレーション済みの実行キューに割り当てることができます。これまで、dispatch-policy
はセッション Bean とエンティティ Bean にのみ適用されました。
appc
の -dispatchPolicy
フラグを使用してディスパッチ ポリシーを設定することもできますが、フラグではなくデプロイメント記述子を使用することをお勧めします。この方法により、たとえばデプロイ中に EJB が再コンパイルされる場合でも、設定が失われません。
『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「weblogic-ejb-jar.xml デプロイメント記述子のリファレンス」を参照してください。
このリリースの WebLogic Server では、Administration Console デプロイメント記述子エディタが非推奨になりました。
デプロイメント記述子要素の大部分は、テキスト エディタまたは XML エディタを使用する場合にのみ編集できます。要素の一部のサブセット (EJB の管理とチューニングに関連する要素) については、Administration Console の [記述子] タブから表示、変更、および記述子ファイルへの保存ができます。
Administration Console オンライン ヘルプの「EJB」節で「デプロイメント記述子の値のコンフィグレーション」を参照してください。
ejbc
コンパイラは非推奨になりました。代わりに appc
を使用してください。『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「appc」を参照してください。
このバージョンの WebLogic Server では、weblogic-cmp-rdbms-jar.xml
の sql-select-distinct
要素が非推奨になりました。このデプロイメント記述子要素の代わりに、ファインダ クエリで DISTINCT
句を直接使用してください。ファインダ クエリに DISTINCT
句が含まれていて、FOR UPDATE
が使用されない場合、コンテナは重複の排除をデータベースに委ねます。使用される場合はメモリ内の重複をフィルタ処理します。
このバージョンの WebLogic Server では、weblogic-ejb-jar.xml
の global-role
要素が非推奨になりました。代わりに externally-defined
要素を使用してください。externally-defined
要素の詳細と、EJB の保護との関係の概要については、『WebLogic Security プログラマーズ ガイド』の「エンタープライズ JavaBean (EJB) のセキュリティ対策」を参照してください。
このバージョンの WebLogic Server では、weblogic-ejb-jar.xml
の run-as-identity-principal
要素が非推奨になりました。代わりに run-as-principal-name
要素を使用してください。run-as-principal-name
要素の詳細と、EJB の保護との関係の概要については、『WebLogic Security プログラマーズ ガイド』の「エンタープライズ JavaBean (EJB) のセキュリティ対策」を参照してください。
このバージョンの WebLogic Server では、weblogic-ejb-jar.xml
の stateless-bean-methods-are-idempotent
要素が非推奨になりました。代わりに idempotent-methods
要素を使用してください。『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「idempotent-methods」を参照してください。
WebLogic Server コネクタのデプロイメント記述子 weblogic-ra.xml
の DTD は、このバージョンで変更されました。『WebLogic J2EE コネクタ アーキテクチャ』の「weblogic-ra.xml デプロイメント記述子の要素」を参照してください。
コネクタの実装では、デプロイメント時に適切な「ヒント」を指定しない限り、接続は共有可能になります。EJB 2.0 では、res-sharing-scope
デプロイメント記述子 (値は Shareable
または Unshareable
) を使用してこのヒントを指定します。
このリリースでは、COM パケットのタイムアウト値と COM メッセージ パケットの最大長を、Administration Console の以前とは異なる場所でコンフィグレーションします。
WebLogic Server は、JDBC サブシステムの内部的なパフォーマンスを向上するとともに、以下の新しい JDBC 機能を提供します。
Administration Console は JDBC 接続プール アシスタントと JDBC データ ソース アシスタントを備えています。これらのアシスタントは、データベース、JDBC ドライバ、および接続プールの情報の入力を求め、その後 JDBC ドライバで必要な接続属性を作成することによって、データベース接続のコンフィグレーションを支援します。Administration Console オンライン ヘルプを参照してください。
JDBC 接続プールには、Administration Console から、または JMX API を使用する MBean からコンフィグレーションできる、以下のような新しい属性と機能があります。
Administration Console オンライン ヘルプを参照してください。
一部のデータベース ベンダでは、DBMS のデータを操作するための独自のメソッドが追加されています。これらのメソッドは、標準の JDBC インタフェースを拡張したものです。WebLogic Server では、ベンダの JDBC ドライバのパブリック インタフェースで公開されるほとんどの拡張メソッドをサポートすることにより、ベンダによる JDBC 拡張のサポートを強化しています。『WebLogic JDBC プログラマーズ ガイド』の「JDBC インタフェースのベンダ拡張機能の使い方」を参照してください。
接続プールから接続を取得する場合、WebLogic Server は接続を管理および保持できるように、物理的な接続ではなく論理的な接続を提供します。特定のクラスがないかオブジェクトのクラス名をチェックするメソッドへ接続を渡す必要がある場合などに、物理的な接続を使用することもできます。WebLogic Server には、weblogic.jdbc.extensions.WLConnection
インタフェースの getVendorConnection()
メソッドが用意されています。このメソッドを使用すると、論理的な接続から基底の物理的な接続を取得できます。『WebLogic JDBC プログラマーズ ガイド』の「接続プールからの物理的な接続の取得」を参照してください。
WebLogic Server は、ResultSet の JDBC 2.0 拡張機能である RowSet をサポートします。RowSet を使用すると、キャッシュされたクエリ結果の読み込みや変更を行ったり、変更した結果をデータベースに対してコミットしたりできます。RowSet では、データベースの一貫性を確保するためにオプティミスティックな同時実行性の制御を使用する、切断されたモデルを利用します。このため、トランザクションやデータベース リソース、およびアプリケーション サーバ リソースを長時間保持せずに、処理を実行できます。『WebLogic JDBC プログラマーズ ガイド』の「WebLogic Server における RowSet の使い方」を参照してください。
JDBC 接続プールの Statement キャッシュが拡張されて、最長未使用時間 (LRU) キャッシュ アルゴリズムと Statement キャッシュのクリア機能が導入されました。
アプリケーションまたは EJB において prepared statement または callable statement を使用すると、かなりの処理オーバーヘッドが生じます。処理コストを最小限に抑えるため、WebLogic Server はアプリケーションで使用される文を Statement キャッシュにキャッシュできます。アプリケーションまたは EJB が、キャッシュに格納された文のいずれかを呼び出すと、WebLogic Server はキャッシュ内に格納されている文を再利用します。こうすることで、データベース サーバの CPU の使用率が下がり、現在の文に対するパフォーマンスが向上して、データベース サーバの CPU サイクルを他のタスクのために確保することができます。Administration Console オンライン ヘルプを参照してください。
WebLogic Server 8.1 では、weblogic.jdbc.pool.Driver
クラス以外の weblogic.jdbc.pool
クラスが削除されました。これは、JDBC ドライバによる JDBC 拡張機能をサポートするための内部的な変更と、これらのクラスとの互換性がないためです。詳細については、『WebLogic Server 8.1 へのアップグレード』の「削除されたクラス」を参照してください。
WebLogic Server 8.1 では、以下の新しい JTA 機能が提供されます。
トランザクションは、システムやネットワークの障害により、正常に完了しない場合があります。そのような状況では、保留中のトランザクションのためにロックが行われ、他のトランザクションの進行を妨げる可能性があります。Administration Console または JTA 実行時 MBean のメソッドを使用して、正常に完了しなかったトランザクションを手動で完了できます。Administration Console オンライン ヘルプを参照してください。
XA に準拠しない単一のリソース アダプタは、他の XA 準拠リソースと共にグローバル トランザクションに参加できます。WebLogic Server は最後のエージェントによるコミットの最適化を使用します。そのため、参加しているすべての XA 準拠リソースが準備された後に、XA に準拠しないリソースのローカル トランザクションの結果を使用して、グローバル トランザクションの結果を決定します。リソース アダプタはローカル トランザクションのセマンティクスを提供する必要があります。WebLogic J2EE コネクタ アーキテクチャでこの機能を使用すると、XA に準拠しないレガシー システムがグローバル トランザクションに参加できます。
WebLogic Server 8.1 では、以下の新しい JMS 機能が提供されます。
400KB 程度の JMS シン アプリケーション クライアント (wljmsclient.jar
) ファイルでは、クライアントサイド プログラムに必要な一連のサポート ファイルのみを含む小さいライブラリを使用し、クライアントサイドの WebLogic のサイズを大幅に削減しながら、完全な WebLogic JMS 機能を実現できます。JMS シン クライアントでは、標準の WebLogic シン アプリケーション クライアント JAR (wlclient.jar
) も使用する必要があります。このクライアントは約 300KB で、クラスタ化、セキュリティ、トランザクション、およびフェイルオーバに対する基本的なクライアント サポートが用意されています。『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMS シン クライアント」を参照してください。
Administration Console の [外部 JMS サーバ] ノードを使用すると、サードパーティ JMS プロバイダを素早くマッピングして、その接続ファクトリと送り先を WebLogic Server JNDI ツリー内でローカル JMS オブジェクトとして表示できます。外部 JMS サーバのコンフィグレーションは、ローカル WebLogic JDNI ツリー内の別のクラスタまたはドメインにある WebLogic Server のリモート インスタンスを参照する際にも使用できます。Administration Console オンライン ヘルプの「リモートまたは外部 JMS プロバイダへの単純なアクセス」を参照してください。
JMS 接続ファクトリの新しい「ラッパー」を利用すると、EJB やサーブレットなどの J2EE コンテナ内で JMS を簡単に使用できます。デプロイメント記述子の resource-ref
要素を使用して接続ファクトリを定義することで、ラッパーによってローカルまたはリモートの WebLogic JMS オブジェクトへアクセスしやすくなります。また、ラッパーはサードパーティ JMS プロバイダへのアクセスにも使用できます。この機能では、JMS 接続オブジェクトやセッション オブジェクトの自動的なプール (メッセージ プロデューサ オブジェクトのプールも含む)、XA をサポートする JMS プロバイダのトランザクションへの自動的な関与、JMS 接続のモニタと障害発生後の再確立、および EJB またはサーブレットによって管理されるセキュリティ資格を提供します。詳細については、『WebLogic JMS プログラマーズ ガイド』の「EJB とサーブレットでの JMS の使い方」を参照してください。
アクティブなメッセージ有効期限を使用すると、期限切れメッセージが即座に消去されます。さらに、期限切れメッセージの監査を使用すると、メッセージがいつ期限切れになったかをログに書き込むか、または期限切れメッセージを特別な送り先にリダイレクトすることによって期限切れメッセージを追跡できます。Administration Console オンライン ヘルプの「期限切れメッセージの処理」を参照してください。
「送信ブロック」機能を使用すると、送り先 (キューまたはトピック) が指定の最大メッセージ割り当てを超過したときに、メッセージ プロデューサによる送り先へのメッセージ送信を一時的にブロックすることで、メッセージ割り当てエラーを回避できます。Administration Console オンライン ヘルプの「メッセージ プロデューサのブロックによる割り当て例外の回避」を参照してください。
JMS 仕様により、特定のプロデューサからコンシューマに最初に配信されるすべてのメッセージは、生成された順序でコンシューマに到着することが確保されています。WebLogic JMS では、再配信されるメッセージの正しい順序付けも確保することで、この要件以上の機能を提供します。『WebLogic JMS プログラマーズ ガイド』の「メッセージの再配信の順序付け」を参照してください。
新しい JMS ヘルパー拡張メソッドを使用すると、JMS 送り先を動的に削除できます。JMS サーバは削除された送り先をリアル タイムに削除します。従って、削除を有効にするために JMS サーバを再デプロイする必要はありません。『WebLogic JMS プログラマーズ ガイド』の「送り先の動的削除」を参照してください。
weblogic.jms
パッケージの ServerSessionPoolFactory
クラスは WebLogic Server 8.1 で非推奨になりました。weblogic.jms.extensions
パッケージの ServerSessionPoolFactory
クラスで置き換えられました。ServerSessionPoolFactory
を JNDI にバインドする場合は、weblogic.jms.extensions
パッケージ内の新しいバージョンを使用することをお勧めします。ただし、このリリースでは、両方のバージョンで JNDI ルックアップを実行できます。『WebLogic JMS プログラマーズ ガイド』の「サーバ セッション プールの定義」または weblogic.jms.extensions.ServerSessionPoolFactory の Javadoc を参照してください。
WebLogic Server 8.1 には、以下の新しい Web アプリケーション機能と変更点があります。
JSP の文字列処理と JSP のコンパイル時間に関するパフォーマンスが向上しています。
weblogic.xml
の新しい init-as-principal-name
要素を使用して、サーブレットの init
メソッドを実行するプリンシパル名を宣言できます。『WebLogic Server Web アプリケーションの開発』を参照してください。
サーブレットを別のサーブレット内から呼び出すことができます。これを行うには、元のサーブレット内で転送要求またはインクルード要求を使用します。2 番目のサーブレットに転送すると、転送と同様に、それ以降のすべてのアクションは 2 番目のサーブレットに従って発生します。2 番目のサーブレットをインクルードすると、すべてのコードを再び記述せずに、別のサーブレットによってすでにアクセスされたソースからのデータを収集できます。『WebLogic HTTP サーブレット プログラマーズ ガイド』の「別のリソースへのリクエストのディスパッチ」を参照してください。
appc
コンパイラに jspc
の機能が組み込まれました。appc
を使用して、デプロイメント用の EJB と JSP の両方をコンパイルおよび生成できます。『WebLogic Server Web アプリケーションの開発』の「appc コンパイラ」を参照してください。
サーブレットのリクエストに応答する際、WebLogic Server はサーブレットに関連するフィルタを適用する前にサーブレット クラス ファイルのタイム スタンプをチェックし、メモリ内にある既存のサーブレット インスタンスと比較します。バージョンの新しいサーブレット クラスがあれば、WebLogic Server はフィルタ処理が行われる前にそのサーブレット クラスを再ロードします。WebLogic Server がタイムスタンプをチェックする間隔を [再ロード間隔 (秒)
] 属性を使用してコンフィグレーションできます。『WebLogic HTTP サーブレット プログラマーズ ガイド』の「サーブレット開発のヒント」を参照してください。
WebLogic Server は新しい weblogic.xml
デプロイメント記述子を導入して、ディレクトリ リストのソートに関するオプションを用意しました。新しい要素の index-directory-sort-by
には、ソートの方法として NAME
、LAST_MODIFIED
、および SIZE
があります。たとえば、ディレクトリ リストをファイル サイズをキーにしてソートする場合、XML は次のようになります。
<weblogic-web-app>
<index-directory-enabled>true</index-directory-enabled>
<index-directory-sort-by>SIZE</index-directory-sort-by>
</weblogic-web-app>
WebLogic Server 8.1 では、以下の新しい Web サービス機能を利用できます。
web-services.xml
デプロイメント記述子の新しい要素を使用して、Web サービスと Web サービス クライアントのデータ セキュリティをコンフィグレーションできます。『WebLogic Web サービス プログラマーズ ガイド』の「セキュリティのコンフィグレーション」を参照してください。
信頼性のある SOAP メッセージングは、ある WebLogic Server インスタンスで動作しているアプリケーションが、別の WebLogic Server インスタンスで動作している Web サービスを非同期で確実に呼び出すためのフレームワークです。『WebLogic Web サービス プログラマーズ ガイド』の「信頼性のある SOAP メッセージングの使い方」を参照してください。
WebLogic Server は、クライアントが Web サービスの操作を呼び出すときのメッセージの転送に SOAP 1.2 をサポートします。『WebLogic Web サービス プログラマーズ ガイド』の「SOAP 1.2 の使い方」を参照してください。
クライアントが Web サービスにアクセスするときの転送プロトコルとして、(デフォルト プロトコルの HTTP/S に加えて) JMS を使用できるように、Web サービスをコンフィグレーションすることもできます。『WebLogic Web サービス プログラマーズ ガイド』の「JMS 転送を使用した WebLogic Web サービスの呼び出し」を参照してください。
clientgen
Ant タスクは、Web サービスの操作を非同期に呼び出すためのスタブを生成できるようになりました。このスタブには、2 つのメソッドがあります。一方のメソッドは必要なパラメータを指定してオペレーションを呼び出しますが、結果を待機しません。もう一方のメソッドは実際の結果を返します。この非同期クライアントは、信頼性のある SOAP メッセージングを用いる場合に使用します。『WebLogic Web サービス プログラマーズ ガイド』の「非同期クライアント アプリケーションの記述」を参照してください。
ポータブル スタブ (WebLogic Web サービスの呼び出しに使用されるクライアント JAR ファイル) を使用すると、WebLogic Server から Web サービスを呼び出すときにクラスの衝突を回避できます。『WebLogic Web サービス プログラマーズ ガイド』の「ポータブル スタブの作成と使い方」を参照してください。
開発者は、SAAJ を使用すると、SOAP 1.1 仕様や添付ファイル付き SOAP のメモに準拠したメッセージの作成と消費ができます。この仕様は、最初に JAXM 1.0 仕様で定義された java.xml.soap
パッケージから派生しています。
wsdlgen
Ant タスクは、Web サービスを実装する EAR ファイルと WAR ファイルから WSDL ファイルを生成します。EAR ファイルには Web サービスを実装する EJB が格納され、WAR ファイルには web-services.xml
デプロイメント記述子ファイルが含まれています。『WebLogic Web サービス プログラマーズ ガイド』の「Web サービス Ant タスクとコマンドライン ユーティリティ」を参照してください。
既存の Web サービス Ant タスクには以下の新しい属性と要素があります。
autotype
- autotype
Ant タスクには、新しい属性の keepGenerated
と overwrite
があります。 clientgen
- clientgen
Ant タスクには、新しい属性 generateAsyncMethods
、generatePublicFields
、および keepGenerated
があります。servicegen
- servicegen
Ant タスクには新しい子要素 <handlerChain>
、<reliability>
、および <security>
があります。source2wsdd
Ant タスクには新しい属性 ejblink
、mergeWithExistingWS
、overwrite
、および wsdlFile
があります。wsdl2Service
Ant タスクには、新しい属性 overwrite
があります。wspackage
Ant タスクには、新しい属性 utilJars
があります。『WebLogic Web サービス プログラマーズ ガイド』の「Web サービス Ant タスクとコマンドライン ユーティリティ」を参照してください。
以下の Web サービス機能はこのリリースで変更されました。
wsdl2Service
Ant タスクは、Web サービスの実装を表現する Java インタフェースを生成するようになりました。以前のリリースでは、この Ant タスクは Web サービスを部分的に実装した Java ソース ファイルを生成しました。
JMS で実装された WebLogic Web サービスの送り先タイプとして JMS トピックの使用はサポートされなくなりました。この機能は WebLogic Server のリリース 7.0 で非推奨になりました。
servicegen
Ant タスクのコマンドライン バージョンはサポートされなくなりました。
WebLogic Server 8.1 では、以下の新しい WebLogic Tuxedo Connector 機能が提供されます。
WebLogic Tuxedo Connector では、Tuxedo サービスにアクセスするために、以下のいずれかの APPKEY ジェネレータを選択できます。
tpuser
ファイルを使用して、Tuxedo 認証サーバにユーザ情報を提供できます。このガイドでは、WLEC を使用するアプリケーションを WebLogic Tuxedo Connector に移行する方法について概説しています。WebLogic Tuxedo Connector では、find_one_factory_by_id
メソッドを使用して FactoryFinder オブジェクトのサポートを提供します。WLEC から WebLogic Tuxedo Connector への移行には、アプリケーションに若干の修正が必要です。
『WebLogic Tuxedo Connector 移行ガイド』(http://edocs.beasys.co.jp/e-docs/wls/docs81/wlec_migration/index.html) を参照してください。
非同期の tpacall
メソッドを使用すると、Tuxedo サービスにリクエストを送信してから、スレッド プールへの呼び出しを実行したスレッド リソースを解放できます。これにより、大量の未処理リクエストを少数のスレッドで処理することができます。『WebLogic Tuxedo Connector プログラマーズ ガイド』の「要求/応答通信」を参照してください。
このリリースの WebLogic Tuxedo Connector は、WebLogic Server RMI-IIOP 実行時と CORBA サポートを使用する新しい WTC ORB を実装します。以前のリリースでは JDK ベースの WTC ORB を使用しました。レガシー システムのユーザが、既存のアプリケーションを変更せずに新しい WTC ORB を使用できるように、ラッパーが用意されています。『WebLogic Tuxedo Connector プログラマーズ ガイド』の「CORBA Java API を用いて WebLogic Tuxedo Connector クライアント Bean を開発する方法」を参照してください。
Java Application-to-Transaction Monitor Interface Field Markup Language (JATMI FML インタフェース) では、いくつかの点でパフォーマンスが強化されています。強化された点は以下のとおりです。
simpview
サンプルでは、WebLogic Server が VIEW を使用して Tuxedo と相互運用できる WebLogic Tuxedo Connector の機能を示します。WebLogic Tuxedo Connector のコード サンプルをインストールした場合は、WebLogic Server のインストール先の SAMPLES_HOME\server\examples\src\examples\wtc
ディレクトリに格納されています。SAMPLES_HOME には、WebLogic Platform のすべてのサンプルが収められています。
Administration Console では、WebLogic Tuxedo Connector のサービスとノードを参照するために使用する用語が変更されました。
WebLogic XPath API を使用して、DOM、XMLNode、または XMLInputStream として表現される XML ドキュメントに対して XPath のマッチングを実行できるようになりました。『WebLogic XML プログラマーズ ガイド』の「WebLogic XPath API の使い方」を参照してください。
WebLogic Server 8.1 には、以下の新しい開発者用ツールの機能があります。
appc コンパイラはデプロイメント用の EJB と JSP をコンパイルおよび生成します。また、個別のモジュール レベルとアプリケーション レベルの両方で、現在の仕様に準拠しているかどうか記述子を検証します。アプリケーション レベルのチェックでは、個別のモジュールに対するアプリケーション レベルのデプロイメント記述子のチェックと、モジュール全体の検証チェックが行われます。
8.1 より前のバージョンでは、WebLogic Server の機能が組み込まれたクライアント アプリケーションは、クライアント マシン上に WebLogic Server 配布キット全体 (weblogic.jar
および weblogicaux.jar
) をインストールする必要がありました。WebLogic Server では今回、小規模の J2EE クライアントに必要な機能だけが含まれる新しい .jar
ファイルを 2 つ用意しました。新しいファイルは次のとおりです。
wlclient.jar
- クラスタ化、セキュリティ、およびトランザクションなどの基本的な WebLogic 機能wljmsclient.jar
- 基本的な WebLogic 機能と JMS 機能新しいクライアント .jar
ファイルは、WebLogic Server インストール ディレクトリの /server/lib
サブディレクトリ (c:\bea\weblogic81b\server\lib
など) にあります。新しいクライアント .jar
ファイルは JDK 1.3.x 以前ではサポートされません。
『WebLogic Server アプリケーションの開発』を参照してください。
WebLogic Builder ツールには、以下の機能と変更が適用されています。
J2EE モジュールのデプロイメント記述子を編集するには、Builder ツールを使用してください。デプロイメント記述子の編集機能は Administration Console では利用できなくなりました。『WebLogic Builder オンライン ヘルプ』を参照してください。
Builder を使用して、並行トランザクションに対するオプティミスティックな同時実行性を使用するように CMP エンティティ Bean をコンフィグレーションできるようになりました。WebLogic Builder オンライン ヘルプの「EJB の操作」を参照してください。
WebLogic Server のインターナショナライゼーション ユーティリティに以下の変更点があります。
weblogic.i18ngen
のコマンドライン オプションが更新された。weblogic.i10ngen
のコマンドライン オプションが更新された。weblogic.gettxt
は新しいコマンドライン ユーティリティ。weblogic.i18ntools.GetText
は新しい API。weblogic.MsgEditor
には更新された GUI がある。メッセージ エディタのメイン ウィンドウでは、メッセージの廃止と廃止の解除も行えます。メッセージを廃止しても、そのメッセージはマスター カタログから削除されるわけではありません。単にユーザから見えなくなることを意味します。この機能は使われなくなったメッセージを削除するのに便利です。廃止したメッセージを元に戻す必要がある場合は、廃止を解除できます。
WebLogic Server のサポート対象のコンフィグレーションに関する最新情報は、「サポート対象のコンフィグレーション」を参照してください。
次の表に、WebLogic Server 8.1 でサポートされている J2EE およびその他の標準に関する情報を示します。
非推奨になった WebLogic Server クラスの一覧については、http://e-docs.bea.com/wls/docs81/javadocs/deprecated-list.html を参照してください。
表 1-7 に、WebLogic Server 8.1 に含まれるサードパーティの JAR ファイルについての情報を示します。
|
|
ここでは、このリリースに関係する役に立つ情報を紹介します。ハイパーリンクを利用するには、インターネット アクセスが必要です。
HTML ファイル、JSP、およびサーブレットを短時間でデプロイできる概要レベルの手順については、http://edocs.beasys.co.jp/e-docs/wls/docs81/quickstart/quick_start.html を参照してください。
コード サンプルをインストールした場合は、WebLogic Server のインストール先の SAMPLES_HOME\server\src\examples
ディレクトリに格納されています。SAMPLES_HOME は、WebLogic Platform のすべてのサンプルが収められたディレクトリです。デフォルトでは c:\bea\weblogic81b\samples
になります。サンプルは、Windows では、[スタート] メニューから利用することもできます。
WebLogic Server の機能と J2EE アプリケーション アーキテクチャの概要については、『WebLogic Server 8.1 および WebLogic Express の紹介』を参照してください。
管理、プログラミング、および参照ガイドを含む BEA WebLogic Server 8.1 の全ドキュメントは、BEA の Web サイト (http://edocs.beasys.co.jp/e-docs/wls/docs81/index.html) でも提供されています。
BEA WebLogic Server のニュースグループは、コミュニティによる BEA Products のサポートを提供します。BEA 関連のニュースグループについては、http://newsgroups.bea.com/ および news://newsgroups.bea.com を参照してください。
BEA の Dev2Dev Online サイトでは、短期間で簡単に e コマースを開発できるリソースが提供されています。Dev2Dev Online を利用するには、http://www.beasys.co.jp/dev2dev/index.html にアクセスしてください。