No método getPartitions do PSSB (Partition Stateless Session Bean), você designa o mesmo alias de partição a várias partições, que cria o contexto do grupo de partições para um conjunto de partições.
Na amostra a seguir (WPFPartitionGroupingSample.ear), o número de grupos de partições é metade (1/2) do número de partições. Cada grupo de partições contém duas partições.
public PartitionDefinition[] getPartitions() { try { numOfAlias=Math.round(numOfPartitions/2.0f); partitionAlias= new String[numOfAlias]; } catch (Exception e) { …… } PartitionDefinition[] rc = new PartitionDefinition[numOfPartitions]; for (int i = 1; i <= numOfPartitions; ++i) { rc[i - 1] = ivManager.createPartitionDefinition(PartitionGrouping.PARTITION_PREFIX + padZeroToString(i + "", 6)); int k= Math.round((i-1)/2.0f-0.1f)+1; rc[i-1].setPartitionAlias(PartitionGrouping.PARTITION_ALIAS + padZeroToString(k + "", 6)); } }
WPFPartitionGroupingSample.ear contém o código-fonte. D_WPFPartitionGroupingSample.ear é um ear implementado.
launchClient D_WPFPartitionGroupingSample.ear -CCBootstrapPort=9813
O resultado é o seguinte código:
IBM WebSphere Application Server, Release 6.0 J2EE Application Client Tool Direitos Autorais IBM Corp., 1997-2004 WSCL0012I: Processando argumentos da linha de comandos. WSCL0013I: Inicializando o J2EE Application Client Environment. **************************************** ClientComponentImpl.initialize() **************************************** **************************************** ClientComponentImpl.start() **************************************** WSCL0035I: A inicialização do J2EE Application Client Environment foi concluída. WSCL0014I: Chamando a classe com.ibm.websphere.wpf.grouping do Application Client. client.WPFPartitionGroupingClient A Amostra de Roteamento do Contexto de PartionAlias possui 10 partições A Amostra de Roteamento de Contexto de PartionAlias possui 5 alias O alias de partição agrupa diferentes partições e o roteador executa o WLM para cada alias que tiver mais de 1 partição. Essa amostra mostra que o contexto do alias será roteado em duas 2 diferentes partições (pares e ímpares): 1ª chamada: PG000008->partition=PG000008,server=clusterdevNode01/s1 2ª chamada: PG000008->partition=PG000008,server=clusterdevNode01/s1 3ª chamada: PG000008->partition=PG000008,server=clusterdevNode01/s1 1ª chamada do alias: PGALIAS000001->partitionAlias=PGALIAS000001,server=clusterdevNode 02/s3 2ª chamada do alias: PGALIAS000001->partitionAlias=PGALIAS000001,server=clusterdevNode 02/s3 3ª chamada do alias: PGALIAS000001->partitionAlias=PGALIAS000001,server=clusterdevNode 02/s3 4ª chamada do alias: PGALIAS000001->partitionAlias=PGALIAS000001,server=clusterdevNode 02/s3 5ª chamada do alias: PGALIAS000001->partitionAlias=PGALIAS000001,server=clusterdevNode 02/s3 6ª chamada do alias: PGALIAS000001->partitionAlias=PGALIAS000001,server=clusterdevNode 02/s3 1ª chamada: PG000006->partition=PG000006,server=clusterdevNode01/s2 2ª chamada: PG000006->partition=PG000006,server=clusterdevNode01/s2 3ª chamada: PG000006->partition=PG000006,server=clusterdevNode01/s2 1ª chamada: PG000010->partition=PG000010,server=clusterdevNode01/s1 2ª chamada: PG000010->partition=PG000010,server=clusterdevNode01/s1 3ª chamada: PG000010->partition=PG000010,server=clusterdevNode01/s1 1ª chamada do alias: PGALIAS000002->partitionAlias=PGALIAS000002,server=clusterdevNode 01/s2 2ª chamada do alias: PGALIAS000002->partitionAlias=PGALIAS000002,server=clusterdevNode 01/s2 3ª chamada do alias: PGALIAS000002->partitionAlias=PGALIAS000002,server=clusterdevNode 02/s3 4ª chamada do alias: PGALIAS000002->partitionAlias=PGALIAS000002,server=clusterdevNode 02/s3 5ª chamada do alias: PGALIAS000002->partitionAlias=PGALIAS000002,server=clusterdevNode 01/s2 6ª chamada do alias: PGALIAS000002->partitionAlias=PGALIAS000002,server=clusterdevNode 02/s3 1ª chamada: PG000001->partition=PG000001,server=clusterdevNode02/s3 2ª chamada: PG000001->partition=PG000001,server=clusterdevNode02/s3 3ª chamada: PG000001->partition=PG000001,server=clusterdevNode02/s3 1ª chamada: PG000002->partition=PG000002,server=clusterdevNode02/s3 2ª chamada: PG000002->partition=PG000002,server=clusterdevNode02/s3 3ª chamada: PG000002->partition=PG000002,server=clusterdevNode02/s3 1ª chamada do alias: PGALIAS000003->partitionAlias=PGALIAS000003,server=clusterdevNode 01/s2 2ª chamada do alias: PGALIAS000003->partitionAlias=PGALIAS000003,server=clusterdevNode 01/s2 3ª chamada do alias: PGALIAS000003->partitionAlias=PGALIAS000003,server=clusterdevNode 01/s2 4ª chamada do alias: PGALIAS000003->partitionAlias=PGALIAS000003,server=clusterdevNode 01/s2 5ª chamada do alias: PGALIAS000003->partitionAlias=PGALIAS000003,server=clusterdevNode 01/s2 6ª chamada do alias: PGALIAS000003->partitionAlias=PGALIAS000003,server=clusterdevNode 01/s2 1ª chamada: PG000004->partition=PG000004,server=clusterdevNode01/s2 2ª chamada: PG000004->partition=PG000004,server=clusterdevNode01/s2 3ª chamada: PG000004->partition=PG000004,server=clusterdevNode01/s2 1ª chamada: PG000007->partition=PG000007,server=clusterdevNode01/s1 2ª chamada: PG000007->partition=PG000007,server=clusterdevNode01/s1 3ª chamada: PG000007->partition=PG000007,server=clusterdevNode01/s1 1ª chamada do alias: PGALIAS000004->partitionAlias=PGALIAS000004,server=clusterdevNode 01/s1 2ª chamada do alias: PGALIAS000004->partitionAlias=PGALIAS000004,server=clusterdevNode 01/s1 3ª chamada do alias: PGALIAS000004->partitionAlias=PGALIAS000004,server=clusterdevNode 01/s1 4ª chamada do alias: PGALIAS000004->partitionAlias=PGALIAS000004,server=clusterdevNode 01/s1 5ª chamada do alias: PGALIAS000004->partitionAlias=PGALIAS000004,server=clusterdevNode 01/s1 6ª chamada do alias: PGALIAS000004->partitionAlias=PGALIAS000004,server=clusterdevNode 01/s1 1ª chamada: PG000003->partition=PG000003,server=clusterdevNode02/s3 2ª chamada: PG000003->partition=PG000003,server=clusterdevNode02/s3 3ª chamada: PG000003->partition=PG000003,server=clusterdevNode02/s3 1ª chamada: PG000005->partition=PG000005,server=clusterdevNode01/s2 2ª chamada: PG000005->partition=PG000005,server=clusterdevNode01/s2 3ª chamada: PG000005->partition=PG000005,server=clusterdevNode01/s2 1ª chamada do alias: PGALIAS000005->partitionAlias=PGALIAS000005,server=clusterdevNode 01/s1 2ª chamada do alias: PGALIAS000005->partitionAlias=PGALIAS000005,server=clusterdevNode 01/s1 3ª chamada do alias: PGALIAS000005->partitionAlias=PGALIAS000005,server=clusterdevNode 01/s1 4ª chamada do alias: PGALIAS000005->partitionAlias=PGALIAS000005,server=clusterdevNode 01/s1 5ª chamada do alias: PGALIAS000005->partitionAlias=PGALIAS000005,server=clusterdevNode 01/s1 6ª chamada do alias: PGALIAS000005->partitionAlias=PGALIAS000005,server=clusterdevNode 01/s1 1ª chamada: PG000009->partition=PG000009,server=clusterdevNode01/s1 2ª chamada: PG000009->partition=PG000009,server=clusterdevNode01/s1 3ª chamada: PG000009->partition=PG000009,server=clusterdevNode01/s1 C:\hao\xd6\bin>
Related concepts
O que É um Alias de Partição?