[Java, WLS] Concurrency Utilities support in WebLogic Server 12.2.1

原文はこちら。
https://blogs.oracle.com/WebLogicServer/entry/concurrency_utilities_support_in_weblogic

Java EE 7をサポートしているため、WebLogic Server 12.2.1はJava EE Concurrency Utilities (JSR236)仕様をサポートしています。
この仕様は、(ServletやEJBといった)Java EEアプリケーションコンポーネントから並列性を利用するため、シンプルかつ標準化されたAPI(4種類の管理対象オブジェクト)を提供します。
この4種類の並列性管理対象オブジェクトは、パッケージjavax.enterprise.concurrent packageのインターフェースManagedExecutorService、ManagedScheduledExecutorService、ManagedThreadFactory、ContextServiceを実装します。
依然としてServletやEJB内で直接java.lang.Threadやjava.util.Timerといった共通のJava SE concurrency APIを使っている場合、Java EE Concurrency Utilityを使うことを強く推奨します。Java SE concurrency APIを使って作成されたスレッドはWebLogic Serverで管理されないので、通常これらの管理対象外のスレッドからは、WebLogic Serverが管理するサービスやリソースを利用できません。Java EE Concurrency Utilitiesを使うことで、非同期タスクはWebLogic Serverで管理されたスレッドで動作します
Since WebLogic Serverにはこれらのスレッドや非同期タスクに関する知識があるので、以下の操作をすることでWebLogic Serverはスレッドや非同期タスクを管理します。
  • 適切な実行コンテキストを提供する。これにはJNDI、クラスローダ、セキュリティ、作業領域を含む。
  • サーバ全体の自己チューニングするシングルスレッドプールに短時間実行するタスクを発行し、定義されたルールやランタイムメトリックを基にしてタスクに優先度を付ける
  • 長時間実行するタスク用のスレッド数を制限し、サーバのパフォーマンスや安定性に影響を与えないようにする
  • アプリケーションがシャットダウンした場合には、スレッドの割り込みやタスクのキャンセルによって非同期タスクのライフサイクルを管理する
コンテキストを意識識したワークマネージャやタイマーを提供する)CommonJ APIはWebLogic Server固有であり、Java EE Concurrency Utilitiesの前身です。CommonJ APIに比較して、Java EE Concurrency Utilitiesは一層標準化されていて使いやすく、カスタムスケジューリング、ContextService、ManagedThreadFactoryといった多くの機能を提供しています。詳細は以下の記事をご覧ください。
詳細は、製品ドキュメントをご覧ください。
Oracle® Fusion Middleware Administering Server Environments for Oracle WebLogic Server 12c (12.2.1)
Configuring Concurrent Managed Objects
https://docs.oracle.com/middleware/1221/wls/CNFGD/concurrent-utils.htm#CNFGD359

0 件のコメント:

コメントを投稿