次の 2 つのメソッドが PartitionDefition インターフェースを介して追加されます。
/** * This sets a string as alias name * */ void setPartitionAlias(String aliasName); /** * This returns the partition alias string for this partition * * @return String */ String getPartitionAlias();
プログラミング例として、区画別名のサンプルを 2 つ示します。1 つ目は、区画別名の処理内容、2 つ目は、区画別名が混合区画別名と非別名区画を用いて同じアプリケーション内でどのように処理するかを示します。2 つの例は次のとおりです。
区画別名のサンプル
public PartitionDefinition[] getPartitions() { try { //1-1 between partition and alias numOfAlias=numOfPartitions; partitionAlias= new String[numOfAlias]; } catch (Exception e) { … } PartitionDefinition[] rc = new PartitionDefinition[numOfPartitions]; for (int i = 1; i <= numOfPartitions; ++i) { rc[i - 1] = ivManager.createPartitionDefinition(PartitionAlias.PARTITION_PREFIX + padZeroToString(i + "", 6)); rc[i-1].setPartitionAlias(PartitionAlias.PARTITION_ALIAS + padZeroToString(i + "", 6)); } return rc; }
public class PartitionAlias_PartitionKey { /** * return the partition string as the partition key * @param partition * @return */ public static String pingAlias(String partitionAlias) { return partitionAlias; } /** * return the partition string as the partition key * @param partition * @return */ public static String ping(String partition) { return partition; }
区画別名コンテキストを使用できるメソッドと区画コンテキストを使用できるメソッドがあります。
混合区画別名と非別名区画のサンプル
public PartitionDefinition[] getPartitions() { try { numOfAlias=numOfPartitions/5; partitionAlias= new String[numOfAlias]; } catch (Exception e) { …… } PartitionDefinition[] rc = new PartitionDefinition[numOfPartitions]; for (int i = 1; i <= numOfPartitions; ++i) { rc[i - 1] = ivManager.createPartitionDefinition(MixedAliasNoAliasPartition.PARTITION_PREFIX + padZeroToString(i + "", 6)); if ((i-1)%5==0){ int k= (i-1)/5 + 1; rc[i-1].setPartitionAlias(MixedAliasNoAliasPartition.PARTITION_ALIAS + padZeroToString(k + "", 6)); } } return rc; }
経路指定には区画別名コンテキスト (ある場合) か区画コンテキストのどちらかを使用することができます。区画の区画別名がなく、クライアント要求に区画別名コンテキストがある場合、クライアント要求が NO_IMPLEMENT 例外を受け取りますが、この非別名区画は区画コンテキストといっしょに送信されます。どのアプリケーションでも、対応する別名のある区画と別名のない区画があります。
Related concepts
区画の別名とは