シリアライゼーションをサポートする

会話をサポートする Web サービスを構築するときには、会話の有効期間を通してそのデータが必要な変数を、シリアライゼーションをサポートする型として宣言する必要があります。シリアライゼーションとは、オブジェクト データをバイト ストリームとしてディスクに書き込めるようにする技術のことです。

会話の間、WebLogic Server はシリアライゼーションを使用してサービスのステート関連データをディスクに書き込みます。この処理は、以下のアイテムの実行が完了するたびに行われます。

メソッド、コールバック、またはコールバック ハンドラの実行時に例外が送出された場合は、シリアライゼーションは行われません。

シリアライゼーションの前提条件は、ほとんどの場合は容易に満たされます。Java のプリミティブ型では、シリアライゼーションはデフォルトでサポートされています。そのような型には、byte、boolean、char、short、int、long、double、および float があります。また、Java のクラスは Serializable インタフェースを実装しなければなりませんが、共通データ型を表す Java クラスの多くはすでに実装しています。そのようなクラスには、StringStringBuffer のほかに、プリミティブ型のラッパー クラス(BooleanLongDoubleInteger など)があります。 特定の共通クラスが Serializable を実装しているか疑わしい場合は、それを使用する前にそのクラスのリファレンス情報を参照してください。

メンバー変数の型付けで使用する独自のクラスを作成する場合、または他者の作成したクラスを扱う場合は、そのクラスが Serializable インタフェースを必ず実装しているように注意してください。とは言っても、このインタフェースには実装するメソッドがないのでそれは例によって簡単なことです(このインタフェースを実装すると、ただ単にそのクラスにシリアライゼーション サポートのマークが付けらる)。クラス コードで次のようにこのインタフェースの含まれているパッケージを単純にインポートし、その宣言には implements キーワードでマークを付けます。

import java.io.Serializable;
public class MyClass implements Serializable
{...}

シリアライゼーションのサポートの詳細については、Sun Microsystems の Web サイトのシリアライゼーション情報(java.sun.com/j2se/1.3/docs/guide/serialization)または Java に関する適当な書籍を参照してください。

関連トピック

概要 : 会話

会話のサポートを追加するには