WebSphere Application Server for z/OS, Version 6.1   
             オペレーティング・システム: z/OS

             目次と検索結果のパーソナライズ化

作業域区画マネージャーのインターフェース

アプリケーションは、作業域区画マネージャーのインターフェースを使用して 作業域区画サービスと対話します。作業域区画マネージャーの インターフェースのインスタンスはネーミングでリトリーブすることが可能で、以下のセクションで定義されたメソッドにより 使用することができます。

作業域区画マネージャーのインターフェースのインプリメンテーションは、 Java ネーミングの java:comp/websphere/WorkAreaPartitionManager にバインド されています。このインターフェースでは、作業域区画の作成、リトリーブ、および 操作を担当します。

package com.ibm.websphere.workarea;

import com.ibm.websphere.workarea.UserWorkArea;
import com.ibm.websphere.workarea.PartitionAlreadyExistsException;
import com.ibm.websphere.workarea.NoSuchPartitionException;
import java.util.Properties;

public interface WorkAreaPartitionManager {
	
  //Returns an instance of a work area partition for the given name, or throws an exception if the 
  //partition name doesn't exists.                                   
  public UserWorkArea getWorkAreaPartition(String partitionName) throws NoSuchPartitionException;
	
  //Returns a new instance of a work area partition (an implementation of the UserWorkArea interface) 
  //or throws an exception if the partition name already exists.  The createWorkAreaPartition should 
  //only be used within a Java 2 platform, Enterprise Edition (J2EE) client and NOT on the 
  //server.  To create a work area partition on the server, use the WebSphere administrative 
  //console.
  	  public UserWorkArea createWorkAreaPartition(String partitionName, Properties props) throws
     	     PartitionAlreadyExistsException, java.lang.IllegalAccessException;
  }
}

EJB アプリケーションは、リモート・インターフェースまたはローカル・インターフェースのいずれかまたは両方のメソッドのインプリメンテーション内でのみ、作業域区画マネージャーのインターフェースを使用できます。同様に、サーブレットは、HTTPServlet クラスの service メソッド内でのみ、このインターフェースを使用できます。 サーブレットまたは Enterprise Bean のライフ・サイクル・メソッド内での作業域の使用は、作業域のプログラミング・モデルからの逸脱と見なされ、サポートされません。

createWorkAreaPartition メソッドを使用した作業域区画のプログラマチックな作成は、Java 2 platform, Enterprise Edition (J2EE) クライアントでのみ使用可能です。 サーバーに作業域区画を作成するには、作業域区画の構成 の説明に従って、WebSphere 管理コンソールを使用します。サーバー・プロセスのすべての区画は、サーバーの開始が 完了する前に作成される必要があります。それにより、作業域サービスが適切な コンテナー・コラボレーターに登録されます。したがって、サーバーの開始後に サーバー・プロセスで createWorkAreaPartition メソッドを呼び出すと、 java.lang.IllegalAccessException 例外という結果になります。 createWorkAreaPartition メソッドは、J2EE アプリケーション・クライアントでいつでも呼び出すことができます。

構成可能な作業域区画のプロパティー

このセクションは、WorkAreaPartitionManager インターフェースの createWorkAreaPartition メソッドを使用する場合に適用されます。上述のように、このメソッドは、Java 2 platform, Enterprise Edition (J2EE) クライアントでのみ使用する必要があります。サーバーに区画を作成する場合は、『作業域区画の構成』を参照してください。

WorkAreaPartitionManager インターフェースの「createWorkAreaPartition」メソッドは、java.util.Properties オブジェクトを受け取ります。この Properties オブジェクト、およびそれに含まれているプロパティーは、作業域区画の定義に使用されます。以下に、Properties オブジェクトの作成およびプロパティーの設定の例を示します。
注: WorkAreaPartitionManager の使用法を示した詳細な例については、例: 作業域区画マネージャーの使用 を参照してください。
java.util.Properties props = new java.util.Properties():
props.put("maxSendSize","12345");
区画を定義するための、受け入れ可能なキー/値のペア (プロパティー) は、以下のとおりです。
  • maxSendSize - リモート呼び出しで送信できる作業域の最大サイズ (バイト) を示します。許容値は以下のとおりです。
    • "-1" = デフォルト・サイズである 32767 を使用します。
    • "0" = サイズに制限はありません。この値には規制がないので、アプリケーションが持つ作業域の数に応じて、わずかですが、パフォーマンスを改善するのに役立つ場合があります。
    • "1" = Integer.MAX_VALUE
  • maxReceiveSize - 受信可能な作業域の最大サイズ (バイト) を示します。許容値は以下のとおりです。
    • "-1" = デフォルト・サイズである 32767 を使用します。
    • "0" = サイズに制限はありません。この値には規制がないので、アプリケーションが持つ作業域の数に応じて、わずかですが、パフォーマンスを改善するのに役立つ場合があります。
    • "1" = Integer.MAX_VALUE
  • Bidirectional - ダウンストリーム・プロセスによって変更される作業域コンテキストを、そのコンテキストの発生元に向かってアップストリームに伝搬する必要があるかどうかを示します。このプロパティーについての詳細は、作業域区画サービス のセクション『作業域コンテキストの双方向伝搬』を参照してください。許容値は以下のとおりです。
    • "true" = コンテキストの変更は、リモート呼び出しから戻されます。
    • "false" = コンテキストの変更は、リモート呼び出しから戻されません。
    注: デフォルトの設定値は "false" です。
  • DeferredAttributeSerialization - プロセスごとに正確に一度だけ発生するように、属性のシリアライゼーションを最適化する必要があるかどうかを示します。このプロパティーについての詳細は、作業域区画サービス のセクション『作業域コンテキストの属性のシリアライゼーションの延期』を参照してください。許容値は以下のとおりです。
    • "true"
      • 属性が作業域に設定されている場合は、リモート要求が出されるまで属性はシリアライズされません。
      • 応答によって値が変更されない場合、それ以降の要求に対してはシリアライズされた形式が使用されます。ライブ・オブジェクトは、getter を使用して取り出されます。
      • リモート要求中に要求が出された場合、値はオンデマンドで一度だけデシリアライズされます。 シリアライズされた形式は、このリモート・プロセスのこの分散スレッドでの以降の要求に使用されます。 プロセス内の同じ属性に対するそれ以降の要求は、すでにデシリアライズされている値を戻します。 DeferredAttributeSerialization との並行性には、リスクが伴います。クライアント・プロセスでの シリアライゼーションの後に、属性を更新しても、その値が UserWorkArea インターフェースを介して 明示的にリセットされるまでは、その属性に対する更新は作業域のコピーには反映されません。 ダウンストリーム・プロセスで取り出された参照に加えられた変更は、UserWorkArea インターフェースを介して明示的にリセットされない限り、それ以降のダウンストリーム要求には伝搬されません (または、応答時に変更値として戻されます)。
    • "false"
      • 属性が作業域に設定されている場合は、その属性は即時にシリアライズされ、バイトが保管されます。
      • 属性が作業域から取り出されている場合、その属性は常に保管されているバイトからデシリアライズされます。
    注: デフォルト値は "false" です。
  • EnableWebServicePropagation - WebService 呼び出しで作業域コンテキストを伝搬する必要があるかどうかを示します。許容値は以下のとおりです。
    • "true" = WebService 呼び出しでコンテキストが伝搬されます。
    • "false" = WebService 呼び出しでコンテキストは伝搬されません。
    注: デフォルト値は "false" です。

例外

作業域区画サービスでは、作業域区画マネージャーのインターフェースで使用する、 以下のような例外が定義されています。
PartitionAlreadyExistsException
この例外は、作業域区画を既に存在する区画名で作成しようとした場合に、 WorkAreaPartitionManager インプリメンテーション上の createWorkAreaPartition メソッドにより生成されます。区画名は固有でなければなりません。
NoSuchPartitionException
この例外は、存在しない区画名で作業域区画が要求された場合に、 WorkAreaPartitionManager インプリメンテーション上の getWorkAreaPartition メソッドにより生成されます。
java.lang.IllegalAccessException
この例外は、サーバー・プロセスの実行時に作業域区画を作成しようとした場合、 WorkAreaPartitionManager インプリメンテーション上の createWorkAreaPartition メソッドにより生成されます。このメソッドは、J2EE クライアント・プロセス でのみ使用可能です。サーバー・プロセスで区画を作成するには、管理コンソールを 使用する必要があります。

作業域について詳しくは、API 文書の『com.ibm.websphere.workarea パッケージ』を参照してください。生成済み API 文書は、インフォメーション・センターの目次で、 「参照」 > 「Developer」 > 「API documentation」 > 「Application programming interfaces」の順にたどって入手できます。




関連概念
作業域区画サービス
関連タスク
作業域区画の構成
関連資料
例: 作業域区画マネージャーの使用
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 9:12:22 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.zseries.doc/info/zseries/workarea/ref/rwa_partition.html