13 Oracle CoherenceでのOracle Tuxedo分散キャッシュ(TDC)の使用
この項の内容は次のとおりです。
すぐに開始する場合は、次のサンプルを参照してください。
この機能に関連するOracle Tuxedo ATMI APIの詳細は、「Oracle Tuxedo分散キャッシュ(TDC)関連のATMI API」を参照してください。
- 概要
- Oracle Coherenceの構成
- Oracle Tuxedo Javaサーバーの構成
- クライアントおよびサーバーを対象としたデータ・キャッシュの使用
- Oracle Tuxedoサービスを対象とした結果キャッシュの使用
- 実行コンテキストID (ECID)のOracle Coherenceへの伝播
- Oracle Tuxedo分散キャッシュ(TDC)関連のATMI API
- Oracle Tuxedo分散キャッシュ(TDC)のプロパティ・ファイルのプロパティ
- Oracle Tuxedo分散キャッシュ(TDC)関連のUBBCONFIGパラメータ
- UBBCONFIG SERVICESセクション
- Oracle Tuxedo分散キャッシュ(TDC)関連のMIB属性
13.1 概要
この機能では、Oracle Coherenceと、Oracle Coherenceのクライアントとして機能するOracle Tuxedo Javaサーバーを利用して、Oracle Coherenceに備えられたキャッシュに関するあらゆる利点を活用できるようにします。
この機能は、次のキャッシング方針をサポートしています。
Oracle CoherenceとTMJAVASVRが使用されるため、実際にTDCを使用する前に、これらの両方を構成する必要があります。
これらを構成した後、Oracle Tuxedo分散キャッシュを使用できます。
13.1.1 クライアントおよびサーバーを対象としたデータ・キャッシュ
データ・キャッシュを有効にすると、キャッシュにデータを格納し、他のサーバー上のクライアントでキャッシュからデータを取得できます。これにより、クライアントとサーバー間でデータを共有する新しい方法が得られます。特に、他のサーバーとのデータの共有が可能になります。
この機能の特長は次のとおりです。
- 高いパフォーマンス
- キュー、ファイルまたはデータベースを介したデータの格納および取得では、通常、大量のソースが占有され、時間が浪費されるのに対し、キャッシュを介したデータの格納と取得は、より高速かつ軽量です。
- 様々なバッファ・タイプのサポート
- この機能は、多くのOracle Tuxedoバッファ・タイプをサポートしているため、Oracle Tuxedoがサポートするデータ型にデータを一致させる手間が必要ありません。サポートされるTuxedoバッファ・タイプは、
CARRAY、FML、FML32、MBSTRING、STRING、VIEW、VIEW32、XML、RECORD、X_C_TYPEおよびX_COMMONです。 - 簡単なアプローチ
- この機能は透過的であるため、いっさいコードを変更することなく使用でき、取り組みやすいアプローチとなっています。Oracle Tuxedoでは、Oracle Coherence機能がJavaサーバー・コンテナにカプセル化されているため、ユーザーは、単にJavaサーバーを使用することで、この機能に関連するすべての機能を実装できます。
親トピック: 概要
13.1.2 Oracle Tuxedoサービスを対象とした結果キャッシュ
結果キャッシュを有効にすると、Oracle Tuxedoはまずバックエンド・サービスではなくキャッシュ・エントリの結果にアクセスします。アクセスできない場合や、キャッシュまたはキャッシュ・エントリが期限切れになっている場合、Oracle Tuxedoはバックエンド・サービスにアクセスします。その結果がOracle Tuxedoキャッシュに格納されるため、次回もそれにアクセスできます。
この機能の特長は次のとおりです。
- 高いパフォーマンス
- Oracle Tuxedoで結果をキャッシュに格納するのに適した候補としてよく挙げられるのが、変更されない結果を返す同期サービスです。これにより、バックエンド・サービスにアクセスするネットワーク・オーバーヘッドを減らして、パフォーマンスを高めることができます。
- 高可用性およびスケーラビリティ
- Oracle Coherenceとの統合により、Oracle Tuxedoではその専用のスケーラブルなプロトコルとクラスタ作成機能を利用できるようになります。クラスタは、シームレスに拡大して、メモリーや処理能力を増やすことができます。また、クラスタ・メンバーで障害が発生した場合には透過的にフェイルオーバーするため、シングル・ポイント障害を回避することもできます。その結果、この機能によって可用性とスケーラビリティが高まります。
- 様々なバッファ・タイプのサポート
- この機能は、多くのOracle Tuxedoバッファ・タイプをサポートしているため、Oracle Tuxedoがサポートするデータ型にデータを一致させる手間が必要ありません。サポートされるTuxedoバッファ・タイプは、
CARRAY、FML、FML32、MBSTRING、STRING、VIEW、VIEW32、XML、RECORD、X_C_TYPEおよびX_COMMONです。 - 簡単なアプローチ
- この機能は透過的であるため、いっさいコードを変更することなく使用でき、取り組みやすいアプローチとなっています。Oracle Tuxedoでは、Oracle Coherence機能がJavaサーバー・コンテナにカプセル化されているため、ユーザーは、単にJavaサーバーを使用することで、この機能に関連するすべての機能を実装できます。
次の図は、Oracle Coherenceに基づいてTDCを使用するためのOracle Tuxedo MPドメインでの一般的なデプロイメントを示しています。
図13-1 Oracle Tuxedoサービスを対象とした結果キャッシュ

この図からわかるように、Oracle Tuxedo JavaサーバーはOracle Coherenceのクライアント(メンバー)と見なされます。Oracle Tuxedo Javaサーバーを直接使用して、異なるマシンに配置されたクラスタ・メンバーが相互に通信する方法に配慮することなく、複数のマシンからの結果をキャッシュできます。
親トピック: 概要
13.2 Oracle Coherenceの構成
Oracle Coherenceで構成する場合と同じく、次のファイルを構成します。詳しい手順は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』を参照してください。
- tangosol-coherence-override.xml
- coherence-cache-config.xml
前述の構成ファイルは任意のパスにデプロイできますが、このパスはJavaクラス・パス内にあり、かつcoherence.jarよりも前に存在している必要があります。たとえば、構成ファイルを${APPDIR}/configに配置し、次のようにOracle Coherenceサーバーを起動できます。
Oracle Coherenceクラスタのデプロイメントのリスト
java -server -showversion $JAVA_OPTS -Dtangosol.coherence.mode=prod -cp
$APPDIR/config: ${COHERENCE_HOME}/lib/coherence.jar
com.tangosol.net.DefaultCacheServer13.2.1 tangosol-coherence-override.xml
次のリストは一例であり、プロパティを太字で示しています。この例では、coherence_tuxはマルチキャスト・ポート番号が51697で、ユニキャスト・ポート番号が51687であるOracle Coherenceクラスタの名前です。
tangosol-coherence-override.xmlのリスト
<xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-co
nfig coherence-operational-config.xsd">
<cluster-config>
<member-identity>
<cluster-name
system-property="tangosol.coherence.cluster">coherence_tux</cluster-name>
</member-identity>
<unicast-listener>
<address
system-property="tangosol.coherence.localhost">localhost</address>
<port system-property="tangosol.coherence.localport">51687</port>
</unicast-listener>
<multicast-listener>
<port system-property="tangosol.coherence.clusterport">51697</port>
</multicast-listener>
</cluster-config>
</coherence>親トピック: Oracle Coherenceの構成
13.2.2 coherence-cache-config.xml
次のリストは一例であり、プロパティを太字で示しています。この例では、Oracle Coherenceキャッシュをtux_distributedという名前で作成します。
coherence-cache-config.xmlのリスト
<?xml version="1.0"?>
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config
coherence-cache-config.xsd">
<caching-scheme-mapping>
<cache-mapping>
<cache-name>tux_distributed</cache-name>
<scheme-name>distributed</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>distributed</scheme-name>
<service-name>DistributedCache</service-name>
<lease-granularity>member</lease-granularity>
<backing-map-scheme>
<local-scheme/>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
</caching-schemes>
</cache-config>親トピック: Oracle Coherenceの構成
13.3 Oracle Tuxedo Javaサーバーの構成
13.3.1 Oracle Tuxedo Javaサーバーの構成ファイルの構成
Oracle Tuxedo分散キャッシュ(TDC)に導入された、システム提供の新しいOracle Tuxedo Javaサーバーでは、Oracle Coherenceへのキャッシュ・リクエストを変換して応答を返送します。Oracle Coherenceのクライアントとして機能します。
このJavaサーバーによって使用されるJavaパッケージはcom.oracle.tuxedo.tdcj.jarで、これは${TUXDIR}/udataobj/tuxj/tdcにあります。
次のリストは、TDCが有効化されたOracle Tuxedo Javaサーバーの構成ファイルの例です。詳細は、バージョン2.0のJavaサーバー構成スキーマ・ファイルを参照してください。
- 一般に、太字のコード行は変更しないでください。クラス
com.oracle.tuxedo.tdc.TCache4CoherenceはTDCによって使用されるメイン・クラスで、これは${TUXDIR}/udataobj/tuxj/tdc/com.oracle.tuxedo.tdcj.jarにあります。 - 斜体のコード行は、環境の違いに応じて変更する必要があります。ファイルが機能するようにするには、
<APPDIR>を実際のパスに置き換える必要があることに注意してください。
Oracle Tuxedo Javaサーバーの構成ファイルの構成のリスト
<?xml version="1.0" encoding="UTF-8"?>
<TJSconfig version="2.0">
<java-config>
<jvm-options>-XX:MaxPermSize=192m</jvm-options>
<jvm-options>-server</jvm-options>
<jvm-options>-Dtangosol.coherence.distributed.localstorage=false</jvm-options>
<jvm-options>-Dtangosol.coherence.mode=prod</jvm-options>
</java-config>
<tux-config>
<server-clopt>-f <APPDIR>/config/tdcsvr_coh.conf</server-clopt>
</tux-config>
<classpath-config>
</classpath-config>
<tux-resources>
</tux-resources>
<jdbc-resources>
</jdbc-resources>
<tux-server-config>
<classpath>${TUXDIR}/udataobj/tuxj/tdc/com.oracle.tuxedo.tdcj.jar</classpath>
<classpath>${TUXDIR}/udataobj/tuxj/tdc/dms.jar</classpath>
<classpath>${TUXDIR}/udataobj/tuxj/tdc/ojdl.jar</classpath>
<classpath>${APPDIR}/config</classpath>
<classpath>${COHERENCE_HOME}/lib/coherence.jar</classpath>
<server-class name="com.oracle.tuxedo.tdc.TCache4Coherence">
</server-class>
</tux-server-config>
</TJSconfig>親トピック: Oracle Tuxedo Javaサーバーの構成
13.3.2 Oracle Tuxedo Distributed Caching (TDC)プロパティ・ファイルの構成
TDC用のキャッシュに関するすべてのプロパティを指定する新規プロパティ・ファイルを追加する必要があります。Oracle Tuxedo Javaサーバーでは、これらのキャッシュの名前を使用してサービスを通知します。単一のプロパティ・ファイルに数多くのOracle Tuxedoキャッシュを定義できます。
次のリストに、プロパティ・ファイルのテンプレートを示します。このテンプレートは、$TUXDIR/udataobj/tuxj/tdc/tdcsvr_coh.conf.templateにあります。このテンプレートでは、tc1とtc2という2つのOracle Tuxedoキャッシュ名が構成されています。tc1ではOracle Coherenceキャッシュtux_distributedが使用され、tc2ではOracle Coherenceキャッシュtux2_distributedが使用されています。
このプロパティの詳細は、「Oracle Tuxedo分散キャッシュ(TDC)のプロパティ・ファイルのプロパティ」を参照してください。
TDCプロパティ・ファイル・テンプレートのリスト
#* global option encoding setting
#options.encoding=no
#* configurations for Tuxedo cache "tc"
#* option encoding setting
#cache.options.encoding.tc=no
#* physical cache used in Oracle Coherence
coh.cache.name.tc=tux_distributed
#* configurations for Tuxedo cache "tc2"
#
#* option encoding setting
#cache.options.encoding.tc2=no
#* physical cache used in Oracle Coherence
#coh.cache.name.tc2=tux2_distributed親トピック: Oracle Tuxedo Javaサーバーの構成
13.4 クライアントおよびサーバーを対象としたデータ・キャッシュの使用
13.4.1 クライアントおよびサーバーを対象としてデータ・キャッシュを使用するステップ
13.4.1.2 Oracle Coherenceクラスタの起動
実行中のOracle Coherenceクラスタがない場合は、自身のクラスタを起動し、構成ファイルのパスをJavaクラス・パスにcoherence.jarよりも前に構成します。例は、次のリストを参照してください。
13.4.1.4 UBBCONFIGの構成
TMJAVASVRをUBBCONFIGに構成します。TMJAVASVRでは、マルチスレッド構成を使用してパフォーマンスを高めています。また、マルチインスタンス構成を使用して可用性を高めています。
TMJAVASVR用のUBBCONFIGのリスト
*RESOURCE
...
MODEL SHM
...
*MACHINES
"m1" LMID=L1
...
*GROUPS
JGRP1 LMID=L1 GRPNO=10
...
TMJAVASVR SRVGRP=JGRP1 SRVID=10
MINDISPATCHTHREADS=4 MAXDISPATCHTHREADS=4 MIN=2 MAX=2
CLOPT="-- -c /home/scott/tuxedo/dom1/config/tdcsvr_coh.xml"
...13.4.1.5 キーに関連付けられているOracle TuxedoバッファのOracle Tuxedoキャッシュへの配置
Oracle Tuxedoネイティブ・クライアントまたはワークステーション・クライアントで、TDC API tpgetcacheおよびtpcacheputを使用し、キーに関連付けられているOracle TuxedoバッファをOracle Tuxedoキャッシュに配置します。tpgetcacheおよびtpcacheputの詳細は、「Oracle Tuxedo分散キャッシュ(TDC)関連のATMI API」を参照してください。
キーに関連付けられているOracle TuxedoバッファのOracle Tuxedoキャッシュへの配置のリスト
...
TCACHE* mycache = NULL;
char mykey[128];
char* databuf = NULL;
tpinit(NULL);
databuf = tpalloc("STRING", NULL, 256);
mycache = tpgetcache("tc");
strcpy(mykey, "myname");
strcpy(databuf, "scott");
tpcacheput(mycache, mykey, databuf, 0, 0L);
tpfree(databuf);
...13.4.1.6 キーに基づいたOracle TuxedoキャッシュからのOracle Tuxedoバッファの取得
Oracle Tuxedoネイティブ・クライアントまたはワークステーション・クライアントで、TDC API tpgetcacheおよびtpcachegetを使用し、キーに関連付けられているOracle TuxedoバッファをOracle Tuxedoキャッシュに取得します。tpgetcacheおよびtpcachegetの詳細は、「Oracle Tuxedo分散キャッシュ(TDC)関連のATMI API」を参照してください。
キーに基づいたOracle TuxedoキャッシュからのOracle Tuxedoバッファの取得のリスト
...
TCACHE* mycache = NULL;
char mykey[128];
char* databuf = NULL;
tpinit(NULL);
databuf = tpalloc("STRING", NULL, 256);
mycache = tpgetcache("tc");
strcpy(mykey, "myname");
tpcacheget(mycache, mykey, &databuf, NULL, 0L);
tpfree(databuf);
...13.4.2 サンプル: クライアントおよびサーバーを対象としたデータ・キャッシュの使用
${APPDIR}が/home/scott/tuxedo/dom1であるとします。
13.4.2.1 サンプル: Oracle Coherenceの構成
-
${APPDIR}/configにtangosol-coherence-override.xmlを準備します。次のリストを参照してください。マルチキャスト・ポート番号が
51697で、ユニキャスト・ポート番号が51687であるOracle Coherenceクラスタcoherence_tuxを構成します。 -
${APPDIR}/configにcoherence-cache-config.xmlを準備します。次のリストを参照してください。Oracle Coherenceキャッシュ
tux_distributedを構成します。
tangosol-coherence-override.xmlの準備のリスト
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-co
nfig coherence-operational-config.xsd">
<cluster-config>
<member-identity>
<cluster-name
system-property="tangosol.coherence.cluster">coherence_tux</cluster-name>
</member-identity>
<unicast-listener>
<address
system-property="tangosol.coherence.localhost">localhost</address>
<port system-property="tangosol.coherence.localport">51687</port>
</unicast-listener>
<multicast-listener>
<port system-property="tangosol.coherence.clusterport">51697</port>
</multicast-listener>
</cluster-config>
</coherence>coherence-cache-config.xmlの準備のリスト
<?xml version="1.0"?>
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config
coherence-cache-config.xsd">
<caching-scheme-mapping>
<cache-mapping>
<cache-name>tux_distributed</cache-name>
<scheme-name>distributed</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>distributed</scheme-name>
<service-name>DistributedCache</service-name>
<lease-granularity>member</lease-granularity>
<backing-map-scheme>
<local-scheme/>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
</caching-schemes>
</cache-config>13.4.2.2 サンプル: Oracle Coherenceクラスタの起動
実行中のOracle Coherenceクラスタがない場合は、独自のクラスタを起動できます。
java -server -showversion $JAVA_OPTS -Dtangosol.coherence.mode=prod -cp
${APPDIR}/config: ${COHERENCE_HOME}/lib/coherence.jar
com.tangosol.net.DefaultCacheServer13.4.2.3 サンプル: Oracle Tuxedo Javaサーバーの構成
13.4.2.3.1 Oracle Tuxedo Javaサーバー用のtdcsvr_coh.xmlの構成
Oracle Tuxedo Javaサーバー用のtdcsvr_coh.xmlを${APPDIR}/configに準備します。
次のリストを参照してください。<server-clopt>-f /home/scott/tuxedo/dom1/config/tdcsvr_coh.conf</server-clopt>プロパティにTDCプロパティ・ファイルを指定しています。
Oracle Tuxedo Javaサーバーの構成ファイルの構成のリスト
<?xml version="1.0" encoding="UTF-8"?>
<TJSconfig version="2.0">
<java-config>
<jvm-options>-XX:MaxPermSize=192m</jvm-options>
<jvm-options>-server</jvm-options>
<jvm-options>-Dtangosol.coherence.distributed.localstorage=false</jvm-options>
<jvm-options>-Dtangosol.coherence.mode=prod</jvm-options>
</java-config>
<tux-config>
<server-clopt>-f
/home/scott/tuxedo/dom1/config/tdcsvr_coh.conf</server-clopt>
</tux-config>
<classpath-config>
</classpath-config>
<tux-resources>
</tux-resources>
<jdbc-resources>
</jdbc-resources>
<tux-server-config>
<classpath>${TUXDIR}/udataobj/tuxj/tdc/com.oracle.tuxedo.tdcj.jar</classpath>
<classpath>${TUXDIR}/udataobj/tuxj/tdc/dms.jar</classpath>
<classpath>${TUXDIR}/udataobj/tuxj/tdc/ojdl.jar</classpath>
<classpath>${COHERENCE_HOME}/lib/coherence.jar</classpath>
<classpath>${APPDIR}/config</classpath>
<server-class name="com.oracle.tuxedo.tdc.TCache4Coherence">
</server-class>
</tux-server-config>
</TJSconfig>13.4.2.3.2 TDCプロパティ・ファイル用のtdcsvr_coh.confの準備
TDCプロパティ・ファイル用のtdcsvr_coh.confをに準備します。
${APPDIR}/config
次のリストを参照してください。Oracle Tuxedoキャッシュtcを構成していますが、実際にはOracle Coherenceキャッシュtux_distributedを使用しています。
Oracle Tuxedo分散キャッシュ(TDC)のプロパティ・ファイルの構成のリスト
#* global option encoding setting
#options.encoding=no
#* configurations for Tuxedo cache "tc"
#* option encoding setting
#cache.options.encoding.tc=no
#* physical cache used in Oracle Coherence
coh.cache.name.tc=tux_distributed13.4.2.4 サンプル: UBBCONFIGでのTMJAVASVRの構成
UBBCONFIGにTMJAVASVRを構成します。
次のリストを参照してください。マルチスレッド構成を有効にし、TMJAVASVR構成ファイルtdcsvr_coh.xmlを設定しています。
UBBCONFIGでのTMJAVASVRの構成のリスト
*RESOURCES
...
MODEL SHM
...
*MACHINES
"m1" LMID=L1
...
*GROUPS
JGRP1 LMID=L1 GRPNO=10
...
TMJAVASVR SRVGRP=JGRP1 SRVID=10
MINDISPATCHTHREADS=4 MAXDISPATCHTHREADS=4 MIN=2 MAX=2
CLOPT="-- -c /home/scott/tuxedo/dom1/config/tdcsvr_coh.xml"
...13.4.2.5 サンプル: キーに関連付けられているOracle TuxedoバッファのOracle Tuxedoキャッシュへの配置
mykeyキーに関連付けられたOracle Tuxedo STRINGバッファをOracle Tuxedoキャッシュtcに格納します。
Oracle Tuxedoバッファの配置のリスト
...
TCACHE* mycache = NULL;
char mykey[128];
char* databuf = NULL;
tpinit(NULL);
databuf = tpalloc("STRING", NULL, 256);
mycache = tpgetcache("tc");
strcpy(mykey, "myname");
strcpy(databuf, "scott");
tpcacheput(mycache, mykey, databuf, 0, 0L);
tpfree(databuf);
...
13.4.2.6 サンプル: キーに基づいたOracle TuxedoキャッシュからのOracle Tuxedoバッファの取得
キーmykeyに従ってOracle TuxedoキャッシュtcからOracle Tuxedo型付きバッファを取得します。
Oracle Tuxedoバッファの取得のリスト
...
TCACHE* mycache = NULL;
char mykey[128];
char* databuf = NULL;
tpinit(NULL);
databuf = tpalloc("STRING", NULL, 256);
mycache = tpgetcache("tc");
strcpy(mykey, "myname");
tpcacheget(mycache, mykey, &databuf, NULL, 0L);
tpfree(databuf);
...13.5 Oracle Tuxedoサービスを対象とした結果キャッシュの使用
13.5.1 Oracle Tuxedoサービスを対象として結果キャッシュを使用するステップ
また、MIBを使用してTDCに動的に変更を加えることもできます。
13.5.1.2 Oracle Coherenceクラスタの起動
実行中のOracle Coherenceクラスタがない場合は、自身のクラスタを起動し、構成ファイルのパスをJavaクラス・パスにcoherence.jarよりも前に構成します。例は、次のリストを参照してください。
13.5.1.4 UBBCONFIGの構成
TDCをUBBCONFIGに構成します。
13.5.1.4.1 SERVICESセクション
このサービスのキャッシュに使用するキャッシュ基準の名前としてCACHING=string_valueを指定します。詳細は、「Oracle Tuxedo分散キャッシュ(TDC)関連のUBBCONFIGパラメータ」を参照してください。
親トピック: UBBCONFIGの構成
13.5.1.4.2 CACHINGセクション
UBBCONFIGでこのCACHINGセクションを指定します。詳細は、「Oracle Tuxedo分散キャッシュ(TDC)関連のUBBCONFIGパラメータ」を参照してください。
次のリストに例を示します
-
Svccache1は、Oracle Tuxedoキャッシュtc1を使用します。その他の構成はデフォルトです。(つまり、KEY=$service+$requestおよびKEY_BUFTYPE=STRINGです)。 -
Svccache2は、Oracle Tuxedoキャッシュtc1を使用します。リクエストを使用してレスポンス・データのキャッシング時にキーを認識します。その他の構成はデフォルトです。(つまり、KEY_BUFTYPE=STRINGです)。 -
Svccache3は、Oracle Tuxedoキャッシュtc1を使用します。固定文字列key1をキーとして使用します。その他の構成はデフォルトです。 -
Svccache4は、Oracle Tuxedoキャッシュtc1を使用します。サービスへのリクエスト・メッセージのバッファ・タイプは、サブタイプがmystruct1のVIEW32です。サブタイプmystruct1のフィールドnameの値をキーとして使用します。 -
Svccache5は、Oracle Tuxedoキャッシュtc1を使用します。FML32およびVIEW32: mystruct1のバッファ・タイプには、同じfield1およびfield2があります(名前とデータ型は同じである必要がありますが、値は違ってもかまいません)。リクエスト・メッセージでは、field1およびfield2の値をキーとして使用します。
UBBCONFIG CACHINGセクションの構成のリスト
...
*CACHING
Svccache1
CACHENAME="tc1"
Svccache2
CACHENAME="tc1"
KEY="$request"
Svccache3
CACHENAME="tc1"
KEY="key1"
Svccache4
CACHENAME="tc1"
KEY="$request"
KEY_BUFTYPE="IEW32:mystruct1"
KEY_FIELD="name"
Svccache5
CACHENAME="tc1"
KEY="mykey_$request"
KEY_BUFTYPE="FML32;VIEW32:mystruct1"
KEY_FIELD="field1+field2"
...親トピック: UBBCONFIGの構成
13.5.1.5 MIBを使用したTDCに対する動的な変更
MIBを使用して、TDCに対する変更を動的に行うことができます。
詳細は、「Oracle Tuxedo分散キャッシュ(TDC)関連のMIB属性」を参照してください。
13.5.2 サンプル: Oracle Tuxedoサービスを対象とした結果キャッシュの使用
13.5.2.1 サンプル: VIEWTABLEの構成
VIEWTABLEを構成します。次のリストを参照してください。ここで、バッファ・タイプはVIEWであり、サブタイプはmystruct1です。
VIEWTABLEの構成のリスト
...
VIEW mystruct1
# type cname fbname count flag size null
string name - 1 - 31 -
string address - 1 - 255 -
char age - 1 - - -
END
...13.5.2.2 サンプル: UBBCONFIGの構成
UBBCONFIGを構成します。次のリストを参照してください
-
TMJAVASVRが構成されています - マルチスレッド構成を有効にし、構成ファイル
tdcsvr_coh.xmlを設定しています。 - キャッシュが有効化されています
- Oracle Tuxedoサービス
mysvc1では、パフォーマンスを高めるためにキャッシュ・エントリsvccache1を使用します。svccache1では、Oracle Tuxedoキャッシュtc1を使用して、サービス結果をキャッシュします。レスポンスの対応するキーは、リクエスト・データの値です。
UBBCONFIGの構成のリスト
...
*GROUPS
JGRP1 LMID=L1 GRPNO=10
...
TMJAVASVR SRVGRP=JGRP1 SRVID=10
MINDISPATCHTHREADS=4 MAXDISPATCHTHREADS=4 MIN=2 MAX=2
CLOPT="-- -c /home/scott/tuxedo/dom1/config/tdcsvr_coh.xml"
...
*SERVICES
mysvc1
...
CACHING="svccache1"
...
*CACHING
svccache1
CACHENAME="tc1"
KEY=$request
...13.5.2.3 サンプル: サーバー側での設定
サーバー側で構成します。次のリストを参照してください。ここで、mysvc1のリクエストはSTRINGとして設定され、mysvc1のレスポンスはVIEW32 mystruct1です。
サーバー側での構成のリスト
...
struct mystruct1* rsp;
int tpsvrinit(int argc, char *argv[])
{
rsp = tpalloc("VIEW32", "mystruct1", sizeof(struct mystruct1));
}
...
void mysvc1(TPSVCINFO *rqst)
{
int ret = 0;
/*rqst->data is the name, getrsp will get data from the database and
store into rsp*/
ret = getrsp(rqst->data, rsp);
if(ret < 0){
tpreturn(TPFAIL, 0, NULL, 0L, 0);
}
tpreturn(TPSUCCESS, 0, rsp, 0L, 0);
}
...13.5.2.4 サンプル: クライアント側での設定
データ・ファイルが次のようになっていると想定としています。
データ・ファイルの例のリスト
...
Scott
Mike
Andy
Scott
Ben
Brian
Scott
Clark
...次のリストのように、クライアント側で設定します。
最初にScottがリクエストとして取得されると、mysvc1が呼び出されてレスポンスが返されます。レスポンスは、Oracle Tuxedoキャッシュtc1にキーScottとともに格納されます。キャッシュtc1内のデータが期限切れになっていないかぎり、以後Scottからサービスmysvc1にリクエストを送ると、サービス自体が呼び出されるのではなく、キャッシュtc1からレスポンスが取得されます。
クライアント側での設定のリスト
...
struct mystruct1* rsp;
char* req;
int main(int argc, char *argv[])
{
int ret;
long olen = 0;
rsp = tpalloc("VIEW32", "mystruct1", sizeof(struct mystruct1));
req = tpalloc("STRING", NULL, 32);
/*get name from the data file*/
while(getname(req) == 0){
tpcall("mysvc1",req, 0, &rsp, &olen,0);
}
}
...13.6 実行コンテキストID (ECID)のOracle Coherenceへの伝播
Oracle Coherenceのログでは、実行コンテキストID (ECID)を使用できます。このグローバルに一意のIDをOracleコンポーネント間のリクエストにアタッチできます。ECIDを使用すると、複数のリクエストが並行して処理される場合に同じリクエストに関する複数のログ・メッセージを追跡できます。Oracle Coherence操作を呼び出す前にすでにアクティブ化されたECIDを持っている場合にのみ、Oracle CoherenceログにECIDが含まれます。ECIDは、別のコンポーネントから渡される場合や、クライアント・コードで取得される場合があります。
Oracle Tuxedo TDCは、Oracle Coherenceのクライアントとして機能するため、ECIDをOracle Coherenceに伝播できます。
13.6.1 ECIDの有効化
- Oracle TuxedoでのECIDの有効化
Oracle Tuxedoには、
UBBCONFIG内のOPTIONSに追加してECIDを制御できる2つのフラグがあります。-
ECID_CREATEECID (実行コンテキスト識別子)作成機能が有効になります。このケースでは、境界ノード(ネイティブ、WSおよびJoltのクライアントとドメイン・ゲートウェイを含む)がECIDを生成できます。
-
ECID_USERLOG識別子
ECID_USERLOGが設定され、ECIDがNULL文字列の場合、ECIDはユーザー・ログに追加されます。
-
- Oracle CoherenceでのECIDの有効化
手順の詳細は、 Oracle Coherenceのドキュメント を参照してください。
13.6.2 TDCに対するECIDの有効化
${APPDIR}/configにtangosol-coherence-override.xmlを準備します。具体的には次のようになります。
-
<destination>要素を使用して、ログ・メッセージをファイルに出力する場合のパスおよびファイル名を構成します。指定されたパスは、存在している必要があります。 ecidを< message-format >要素に追加して、ECIDを有効にします。-
<severity-level>要素を使用して、ログ・レベルを変更できます。
リスト
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-co
nfig coherence-operational-config.xsd">
<cluster-config>
<member-identity>
<cluster-name
system-property="tangosol.coherence.cluster">coherence_tux</cluster-name>
</member-identity>
<unicast-listener>
<address
system-property="tangosol.coherence.localhost">localhost</address>
<port system-property="tangosol.coherence.localport">51687</port>
</unicast-listener>
<multicast-listener>
<port system-property="tangosol.coherence.clusterport">51697</port>
</multicast-listener>
</cluster-config>
<logging-config>
<destination
system-property="tangosol.coherence.log">/tmp/coherence.log</destination>
<severity-level
system-property="tangosol.coherence.log.level">9</severity-level>
<message-format>{date}/{uptime} {product} ecid={ecid} {version}
<{level}>(thread={thread},member={member}):{text}</message-format>
</logging-config>
</coherence>13.7 Oracle Tuxedo分散キャッシュ(TDC)関連のATMI API
表13‑1 Oracle Tuxedo分散キャッシュ(TDC)関連のATMI API
| 名前 | 説明 |
|---|---|
| tpgetcache(3c) | 構成に従ってOracle Tuxedoキャッシュ・ハンドルを取得します。 |
| tpcacheput(3c) | Oracle Tuxedo型付きバッファをキーに関連付けてキャッシュに格納します。 |
| tpcacheget(3c) | キーに関連付けられているOracle Tuxedo型付きバッファをキャッシュから取得します。 |
| tpcacheremove(3c) | パラメータkeyに関連付けられているキャッシュ・エントリをキャッシュから削除します。 |
| tpcachemremove(3c) | パラメータkeyarrayに関連付けられているキャッシュ・エントリをキャッシュから削除します。 |
| tpcacheremoveall(3c) | キャッシュからすべてのキャッシュ・エントリを削除します。 |
13.7.1 tpgetcache(3c)
13.7.1.3 説明
tpgetcache(3c)は、取得するOracle Tuxedoキャッシュの名前を示すOracle Tuxedoキャッシュ名に従ってOracle Tuxedoキャッシュ・ハンドルを取得します。名前の長さは78文字以内にする必要があります。tpgetcache(3c)はスレッド・レベルのAPIです。返されるハンドルTCACHEは、同じスレッド内でのみ使用できます。
親トピック: tpgetcache(3c)
13.7.1.4 戻り値
tpgetcache(3c)は、正常に終了すると、ハンドル型付きのTCACHEを返しますが、これは内部構造です。
失敗すると、tpgetcache()はNULLを返し、tperrnoを設定してエラー条件を示します。呼出しが失敗してtperrnoに特定の値が設定された場合は、続けて、中間のATMI呼出しを省略してtperrordetail(3c)を呼び出すと、エラーに関する詳細な情報が提供されます。詳細は、「tperrordetail(3c)」リファレンス・ページを参照してください。
親トピック: tpgetcache(3c)
13.7.1.5 エラー
-
[TPEINVAL] - 無効な引数(たとえば、confにNULL)が指定されました。
-
[TPENOENT] - リクエストされたキャッシュは存在しません。
-
[TPETIME] - このエラー・コードは、タイムアウトが発生したことを示します
-
[TPESYSTEM] - Oracle Tuxedoシステムのエラーが発生しました。エラーの正確な内容はULOGに追加されます。
-
[TPEOS] - オペレーティング・システムのエラーが発生しました。
-
[TPESVCFAIL] - Oracle Tuxedoキャッシュ・サーバーはエラーを満たします。
tpurcodeには正確なエラー値が含まれます。tpurcodeの想定される値を次に示します。
親トピック: tpgetcache(3c)
13.7.2 tpcacheput(3c)
13.7.2.2 形式
#include "atmi.h"
int tpcacheput(TCACHE* tc, char* key, char* data, long len, long flags);親トピック: tpcacheput(3c)
13.7.2.3 説明
tpcacheput(3c)は、Oracle Tuxedo型付きバッファをキーに関連付けてキャッシュに格納します。tcは、tpgetcache(3c)によって返されます。dataは、tpalloc(3c)によって割り当てられたTuxedo型付きバッファを指します。lenはデータの長さです。データの型に長さを指定する必要がない場合(FMLフィールド化バッファなど)、lenは無視されます(0でもかまいません)。flagsは予約されており、0Lである必要があります。
親トピック: tpcacheput(3c)
13.7.2.4 戻り値
正常に終了すると、tpcacheput(3c)は0を返します。
異常終了すると、tpcacheput(3c)は-1を返し、tperrnoを設定してエラー条件を示します。呼出しが異常終了してtperrnoに特定の値が設定されたときは、中間のATMI呼出しを省略して引き続きtperrordetail(3c)を呼び出すと、エラーに関する詳細な情報が提供されます。詳細は、「tperrordetail(3c)」リファレンス・ページを参照してください。
親トピック: tpcacheput(3c)
13.7.2.5 エラー
親トピック: tpcacheput(3c)
13.7.3 tpcacheget(3c)
13.7.3.2 形式
#include "atmi.h"
int tpcacheget(TCACHE* tc, char* key, char** odata, long* olen, long flags);親トピック: tpcacheget(3c)
13.7.3.3 説明
tpcacheget(3c)は、キーに関連付けられているOracle Tuxedo型付きバッファをキャッシュから取得します。tcはtpgetcache(3c)によって返されます。odataは、キーのデータが読み込まれるバッファへのポインタのアドレスです。これは、tpalloc(3c)によって最初に割り当てられたバッファを指す必要があります。olenはデータの長さを指します。flagsは予約されており、である必要があります。
0L
親トピック: tpcacheget(3c)
13.7.3.4 戻り値
正常に終了すると、tpcacheget(3c)は0を返します。
異常終了すると、tpcacheget(3c)は-1を返し、tperrnoを設定してエラー条件を示します。呼出しが異常終了してtperrnoに特定の値が設定されたときは、中間のATMI呼出しを省略して引き続きtperrordetail(3c)を呼び出すと、エラーに関する詳細な情報が提供されます。詳細は、「tperrordetail(3c)」リファレンス・ページを参照してください。
親トピック: tpcacheget(3c)
13.7.3.5 エラー
-
[TPEINVAL] - 無効な引数が指定されました。
-
[TPENOENT] - リクエストされたキャッシュは存在しません。
-
[TPETIME] - このエラー・コードは、タイムアウトが発生したことを示します。
-
[TPESYSTEM] - Oracle Tuxedoシステムのエラーが発生しました。エラーの正確な内容はULOGに追加されます。
-
[TPEOS] - オペレーティング・システムのエラーが発生しました。
-
[TPESVCFAIL] - Oracle Tuxedoキャッシュ・サーバーはエラーを満たします。
tpurcodeには正確なエラー値が含まれます。tpurcodeの想定される値を次に示します。 -
TDC_ERR_CACHE_NOTEXIST - このエラー・コードは、リクエストされたOracle Tuxedoキャッシュが存在しないことを示します。
-
TDC_ERR_CACHE_UNAVAIL - このエラー・コードは、リクエストされたOracle Tuxedoキャッシュが使用不可であることを示します。
-
TDC_ERR_CACHENAME_INVALID - このエラー・コードは、リクエストされたOracle Tuxedoキャッシュが無効であることを示します。
-
TDC_ERR_KEY_NOTEXIST - このエラー・コードは、指定されたキーに基づいてリクエストされたエントリが存在しないことを示します。
親トピック: tpcacheget(3c)
13.7.4 tpcacheremove(3c)
13.7.4.2 形式
#include "atmi.h"
int tpcacheremove(TCACHE* tc, char* key, long flags);親トピック: tpcacheremove(3c)
13.7.4.3 説明
tpcacheremove(3c)は、パラメータkeyに関連付けられているキャッシュ・エントリを削除します。tcはtpgetcache(3c)によって返されます。flagsは予約されており、0Lである必要があります。
親トピック: tpcacheremove(3c)
13.7.4.4 戻り値
正常に終了すると、tpcacheremove(3c)は0を返します。
異常終了すると、tpcacheremove(3c)は-1を返し、tperrnoを設定してエラー条件を示します。呼出しが異常終了してtperrnoに特定の値が設定されたときは、中間のATMI呼出しを省略して引き続きtperrordetail(3c)を呼び出すと、エラーに関する詳細な情報が提供されます。詳細は、「tperrordetail(3c)」リファレンス・ページを参照してください。
親トピック: tpcacheremove(3c)
13.7.4.5 エラー
親トピック: tpcacheremove(3c)
13.7.5 tpcachemremove(3c)
13.7.5.1 名前
tpcachemremove - パラメータkeyarrayに関連付けられているキャッシュ・エントリをキャッシュから削除します
親トピック: tpcachemremove(3c)
13.7.5.2 形式
#include "atmi.h"
int tpcachemremove(TCACHE* tc, char* keyarray[], int size, long flags);親トピック: tpcachemremove(3c)
13.7.5.3 説明
tpcachemremove(3c)は、パラメータkeyarrayに関連付けられているキャッシュ・エントリをキャッシュから削除します。tcはtpgetcache(3c)によって返されます。keyarrayは、削除されるキーの配列です。sizeはkeyarrayのサイズです。flagsは予約されており、0Lである必要があります。
親トピック: tpcachemremove(3c)
13.7.5.4 戻り値
正常に終了すると、tpcachemremove(3c)は0を返します。
異常終了すると、tpcachemremove(3c)は-1を返し、tperrnoを設定してエラー条件を示します。呼出しが異常終了してtperrnoに特定の値が設定されたときは、中間のATMI呼出しを省略して引き続きtperrordetail(3c)を呼び出すと、エラーに関する詳細な情報が提供されます。詳細は、「tperrordetail(3c)」リファレンス・ページを参照してください。
親トピック: tpcachemremove(3c)
13.7.5.5 エラー
親トピック: tpcachemremove(3c)
13.7.6 tpcacheremoveall(3c)
13.7.6.2 形式
#include "atmi.h"
int tpcacheremoveall(TCACHE* tc, long flags);親トピック: tpcacheremoveall(3c)
13.7.6.3 説明
tpcacheremoveall(3c)は、キャッシュからすべてのエントリを削除します。tcはtpgetcache(3c)によって返されます。flagsは予約されており、0Lである必要があります。
親トピック: tpcacheremoveall(3c)
13.7.6.4 戻り値
正常に終了すると、tpcacheremoveall(3c)は0を返します。
異常終了すると、tpcacheremoveall(3c)は-1を返し、tperrnoを設定してエラー条件を示します。呼出しが異常終了してtperrnoに特定の値が設定されたときは、中間のATMI呼出しを省略して引き続きtperrordetail(3c)を呼び出すと、エラーに関する詳細な情報が提供されます。詳細は、「tperrordetail(3c)」リファレンス・ページを参照してください。
親トピック: tpcacheremoveall(3c)
13.7.6.5 エラー
親トピック: tpcacheremoveall(3c)
13.8 Oracle Tuxedo分散キャッシュ(TDC)のプロパティ・ファイルのプロパティ
Oracle Tuxedo TDCプロパティ・ファイルは、簡単な行指向形式のファイルです。
Propertiesは行単位で処理されます。行には自然行と論理行の2種類があります。
自然行は、行末記号(\\n、\\r、または\\r\\n)のセットまたはストリームの末尾で区切られた1行の文字列として定義されます。自然行は、空白の行やコメント行であるか、キーと要素のペアの全部または一部を保持する場合があります。
論理行は、キーと要素のペアの全データを保持します。バックスラッシュ文字\\を使用して行末記号シーケンスをエスケープすることで、隣接する複数の自然行にまたがる場合があります。
空白文字だけを含む自然行は、空白と見なされて無視されます。コメント行には、ASCII '#'または'!'が最初の非空白文字として含まれます。キーには、行内の最初の非空白文字から最初のエスケープされていない'=', ':'の手前までの文字がすべて含まれます。キーのあとの空白はすべてスキップされます。キーに続く最初の非空白文字が'='または':'である場合、これは無視され、その後の空白文字もすべてスキップされます。行上の残りのすべての文字は、関連付けられた要素文字列の一部になります。残りの文字がない場合、その要素は空の文字列""です。
同じキーのプロパティが複数ある場合は、最後のプロパティが使用されます。
次の表に、サポートされているTDCプロパティ・ファイルのプロパティを示します。
表13-2 Oracle Tuxedo Distributed Caching (TDC)プロパティ・ファイルのプロパティ
| プロパティ | 説明 |
|---|---|
options.encoding
|
次の値を指定できます:
. |
cache.options.encoding.[cachename]
|
yesは、Oracle Tuxedoキャッシュ[cachename]内のすべてのキャッシュ・データをエンコードする必要があることを示します。データ表現が異なるマシンにキャッシュ・ユーザーを配置するときに、有効にする必要があります。
このプロパティを設定しないと、 |
coh.cache.name.[cachename]
|
Oracle Tuxedoキャッシュ[cachename]のためにCoherenceクラスタで使用されているキャッシュ名を示します。
これは、Oracle CoherenceをTDCのために使用する場合に、TDCプロパティ・ファイルで必要になります。 |
ノート:
[cachename]の長さは、78文字以下にする必要があります。
13.10 UBBCONFIG SERVICESセクション
表13‑3 Oracle Tuxedo分散キャッシュ(TDC)関連のUBBCONFIG SERVICESセクション・パラメータ
| パラメータ | 説明 |
|---|---|
CACHING=string_value(必須)
|
レスポンスをキャッシュする際に、このサービスに使用するキャッシュ基準の名前を指定します。string_valueは、CACHINGセクションで定義されているCACHING_CRITERIA_NAMEである必要があります。このパラメータの指定は必須であり、指定しない場合、サービス・キャッシュは有効になりません。string_valueの長さは、127文字以下にする必要があります。
|
13.10.1 UBBCONFIG CACHINGセクション
表13‑4 Oracle Tuxedo分散キャッシュ(TDC)関連のUBBCONFIGパラメータ
| パラメータ | 説明 |
|---|---|
CACHING_CRITERIA_NAME required_parameters(必須)
|
CACHING_CRITERIA_NAME (string_value)は、SERVICESセクション内の特定のサービス・エントリについてCACHINGパラメータに割り当てられている名前です。CACHING_CRITERIA_NAMEの長さは、127文字以下にする必要があります。
|
CACHENAME=string_value(必須)
|
使用するOracle Tuxedoキャッシュの名前を指定します。string_valueは78文字以内にする必要があります。
|
KEY=string_value(オプション)
|
キャッシュされたデータを関連付けるキーの構成方法を指定します。string_valueは127文字以下にする必要があります。
このパラメータは省略可能です。指定されていない場合、キーは、サービス名とリクエスト内のシリアライズされたユーザー・データの組合せとして生成されます。 たとえば、
|
KEY_BUFTYPE="type1[:subtype1[,subtype2 . . . ]][;type2[:subtype3[, . . . ]]] . . ."(オプション)
|
キーを生成するために使用する、このキャッシング・エントリが有効なデータ・バッファのタイプとサブタイプのリスト。このパラメータの長さは255文字までで、最大32のタイプ/サブタイプの組合せを指定できます。
タイプは、 このパラメータが指定されない場合は、 このパラメータは、 |
(オプション) |
キーを生成するために使用するバッファ内のフィールドの名前を指定します。255文字以内で、最大8つのフィールドを指定できます。
各フィールドはFMLフィールド表( XMLバッファ内のXML要素の内容または要素属性については、次の構文を使用してフィールドの名前を定義します。
要素名と属性名を組み合せて、最大35文字まで指定できます。Oracle Tuxedoでは、サービス・キャッシュでXMLバッファを処理する際に、指定された要素タイプの最初のオカレンスのみを認識します。XMLは、属性名に使用できる文字セットを厳密に定義しています。属性名は、単一の文字、アンダースコア、またはコロンを含む文字列で、その後に1つ以上の名前文字が続きます。要素名と属性名はいずれも、大文字/小文字が区別されます。詳細は、XMLのドキュメントを参照してください。 KEY_BUFTYPEがSTRINGまたはCARRAYに設定されている場合は、次の構文を使用してフィールドを定義します。 Index1はバッファ内のフィールドの開始インデックスを示し、index2はフィールドの終了インデックスを示します。このバラメータが定義されていない場合は、バッファ全体がキーと見なされます。インデックスは1から設定する必要があります。 このパラメータは、 |
親トピック: UBBCONFIG SERVICESセクション
13.11 Oracle Tuxedo分散キャッシュ(TDC)関連のMIB属性
13.11.1 T_SERVICEクラスの定義
表13‑5 Oracle Tuxedo分散キャッシュ(TDC)関連のMIB属性
| 属性 | タイプ | 権限 | 値 | デフォルト |
|---|---|---|---|---|
TA_CACHING
|
string
|
rwxr--r--
|
string [0..127]
|
""
|
13.11.2 T_CACHINGクラスの定義
このT_CACHINGクラスは、アプリケーションに対するキャッシング指定の構成属性を表します。これらの属性値によって、アプリケーションのキャッシュ基準(バッファ・タイプ、フィールド名、キャッシュ定義など)を識別して特徴付けます。
表13‑6 Oracle Tuxedo分散キャッシュ(TDC)関連のMIB属性
| 属性 | タイプ | 権限 | 値 | デフォルト |
|---|---|---|---|---|
TA_CACHING_NAME(r)(*)
|
string
|
ru--r--
|
string[0..127]
|
N/A
|
TA_CACHING_CACHENAME(r)
|
string
|
rw-r--r--
|
string[1..78]
|
N/A
|
TA_CACHING_KEY
|
string
|
rw-r--r--
|
string[0..127]
|
""
|
TA_CACHING_KEY_BUFTYPE(*)
|
string
|
ru--r--
|
string[0..255]
|
"STRING"
|
TA_CACHING_KEY_FIELD
|
string
|
rw-r--r--
|
string[0..255]
|
""
|
TA_STATE(k)
|
string
|
rw-r--r--
|
GET: "VAL" |
N/A
|
SET: "{NEW | INV}"
|
N/A |
ノート:
- (k)
GETキー・フィールド - (r) オブジェクトの作成に必要なフィールド(
SET TA_STATE NEW) - (*)
GET/SETキー、SET操作では1つ以上必要 u(一意性)が指定されている権限は、TA_CACHING_NAMEとTA_CACHING_KEY_BUFTYPEの組合せが一意である必要があることを意味します。-
TA_CACHING_NAME: string[1..127] - キャッシュ基準名を指定します。
-
TA_CACHING_CACHENAME: string[1..78] - 使用するOracle Tuxedoキャッシュの名前を指定します。
-
TA_CACHING_KEY: string[0..127] - キャッシュ・データを関連付けるキーの構成方法を指定します。
-
TA_CACHING_KEY_BUFTYPE: string[0..255] - キーを生成するために使用する、このキャッシング・エントリが有効なデータ・バッファのタイプとサブタイプのリストを指定します。このパラメータの長さは255文字までで、最大32のタイプ/サブタイプの組合せを指定できます。タイプは、
STRING、CARRAY、FML、FML32、XML、VIEW、VIEW32、RECORD、MBSTRING、X_C_TYPEまたはX_COMMONのいずれかにする必要があります。タイプがSTRING、CARRAY、FML、FML32、MBSTRINGまたはXMLの場合、サブタイプは指定できません。タイプがVIEW、VIEW32、RECORD、X_C_TYPEおよびX_COMMONの場合はサブタイプが必要です(*は使用できません)。サブタイプ名には、セミコロン、コロン、カンマまたはアスタリスク文字を使用できません。タイプとサブタイプのペアのうち、重複するものは同じルーティング・キャッシュ基準名として指定できません。タイプとサブタイプのペアが一意の場合、複数のルーティング・キャッシュ・エントリは同じ基準名を持つことができます。単一キャッシュ・エントリに複数のバッファ・タイプが指定されている場合は、各バッファ・タイプのキャッシュ・フィールドのデータ型は同じである必要があります。 -
TA_CACHING_KEY_FIELD: string[0..255] - キーを生成するために使用するバッファ内のフィールドの名前を指定します。255文字以内で、最大8つのフィールドを指定できます。各フィールドはFMLフィールド表(
FLDTBLDIRおよびFIELDTBLS環境変数か、またはFLDTBLDIR32およびFIELDTBLS32環境変数を使用)またはFMLのVIEW表(VIEWDIRおよびVIEWFILES環境変数か、またはVIEWDIR32およびVIEWFILES32環境変数を使用)内のXML要素、要素属性またはフィールド名にすることができます。この情報は、メッセージの送信時に、サービス・キャッシュに関連するフィールド値を取得するために使用されます。XMLバッファ内のXML要素の内容または要素属性については、次の構文を使用してフィールドの名前を定義します。root_element[/child_element][/child_element][/. . .][/@attribute_name] -
TA_STATE -
-
GET: "{VALid}" GET操作は、選択したT_CACHINGオブジェクトの構成情報を検索します。以下に示す状態は、GETリクエストに応えて返されるTA_STATEの意味を示します。これら以外の状態は返されません。VALid:T_CACHINGオブジェクトが定義されています。これがこのクラスの唯一の有効な状態です。-
SET: "{NEW | INValid}" SET操作は、選択したT_CACHINGオブジェクトの構成情報を更新します。以下に示す状態は、SETリクエストで設定されるTA_STATEの意味を示します。これ以外の状態を設定することはできません。NEW: アプリケーションのT_CACHINGオブジェクトを作成します。状態の変更はINValid状態でのみ可能です。正常に終了すると、オブジェクトの状態はVALidになります。INValid: アプリケーションのT_CACHINGオブジェクトを削除します。状態の変更は、VALid状態でのみ可能です。正常に終了すると、オブジェクトの状態はINValidになります。
-
-