Os dois métodos a seguir são incluídos através da interface PartitionDefition:
/** * Isso configura uma cadeia como nome de alias * */ void setPartitionAlias(String aliasName); /** * Isso retorna a cadeia do alias de partição para essa partição * * @return String */ String getPartitionAlias();
São fornecidas duas amostras de alias de partição como exemplos de programação. Uma demonstra como funciona o alias de partição e a outra mostra como ele funciona com aliases de partição mistos e partições sem alias no mesmo aplicativo. As duas amostras são as seguintes:
Amostra do alias de partição
public PartitionDefinition[] getPartitions() { try { //1-1 entre a partição e o 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; }
Alguns métodos podem utilizar o contexto de alias de partição enquanto outros métodos podem utilizar o contexto de partição.
Amostra da Partição de Alias e Sem Alias Mista
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; }
O roteamento pode utilizar o contexto de alias de partição se ele existir ou o contexto de partição. Se o alias de partição não existir para essa partição e o pedido do cliente tiver o contexto de alias de partição, os pedidos do cliente receberão uma exceção NO_IMPLEMENT, mas essa partição sem alias pode ser roteada sem um contexto de partição. Em qualquer aplicativo, algumas partições podem ter seus aliases e outras partições podem não ter qualquer alias.
Related concepts
O que É um Alias de Partição?