Nel metodo getPartitions del PSSB (partition stateless session bean), viene assegnato lo stesso alias di partizione a più partizioni e viene creato in questo modo un contesto del gruppo di partizioni per una serie di partizioni.
Nel seguente esempio (WPFPartitionGroupingSample.ear), il numero di gruppi di partizioni è un mezzo (1/2) del numero di partizioni. Ogni gruppo di partizioni contiene due partizioni.
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 contiene il codice sorgente. D_WPFPartitionGroupingSample.ear è un file ear distribuito.
launchClient D_WPFPartitionGroupingSample.ear -CCBootstrapPort=9813
Il risultato è il seguente codice:
IBM WebSphere Application Server, Release 6.0 J2EE Application Client Tool Copyright IBM Corp., 1997-2004 WSCL0012I: Elaborazione degli argomenti della riga comandi in corso. WSCL0013I: inizializzazione dell'ambiente del client applicativo J2EE in corso. **************************************** ClientComponentImpl.initialize() **************************************** **************************************** ClientComponentImpl.start() **************************************** WSCL0035I: Inizializzazione dell'ambiente client applicativo J2EE completata. WSCL0014I: Richiamo della classe del client applicativo com.ibm.websphere.wpf.grouping. client.WPFPartitionGroupingClient Esempio di routing del contesto PartionAlias ha 10 partizioni Esempio di routing del contesto PartionAlias ha 5 alias L'alias di partizione raggruppa diverse partizioni e il router esegue WLM per ogni alias che ha più di una partizione. In questo esempio è riportato il contesto dell'alias che verrà indirizzato a 2 diverse partizioni (pari o dispari): 1a chiamata: PG000008->partition=PG000008,server=clusterdevNode01/s1 2a chiamata: PG000008->partition=PG000008,server=clusterdevNode01/s1 3a chiamata: PG000008->partition=PG000008,server=clusterdevNode01/s1 Alias 1a chiamata: PGALIAS000001->partitionAlias=PGALIAS000001,server=clusterdevNode 02/s3 Alias 2a chiamata: PGALIAS000001->partitionAlias=PGALIAS000001,server=clusterdevNode 02/s3 Alias 3a chiamata: PGALIAS000001->partitionAlias=PGALIAS000001,server=clusterdevNode 02/s3 Alias 4a chiamata: PGALIAS000001->partitionAlias=PGALIAS000001,server=clusterdevNode 02/s3 Alias 5a chiamata: PGALIAS000001->partitionAlias=PGALIAS000001,server=clusterdevNode 02/s3 Alias 6a chiamata: PGALIAS000001->partitionAlias=PGALIAS000001,server=clusterdevNode 02/s3 1a chiamata: PG000006->partition=PG000006,server=clusterdevNode01/s2 2a chiamata: PG000006->partition=PG000006,server=clusterdevNode01/s2 3a chiamata: PG000006->partition=PG000006,server=clusterdevNode01/s2 1a chiamata: PG000010->partition=PG000010,server=clusterdevNode01/s1 2a chiamata: PG000010->partition=PG000010,server=clusterdevNode01/s1 3a chiamata: PG000010->partition=PG000010,server=clusterdevNode01/s1 Alias 1a chiamata: PGALIAS000002->partitionAlias=PGALIAS000002,server=clusterdevNode 01/s2 Alias 2a chiamata: PGALIAS000002->partitionAlias=PGALIAS000002,server=clusterdevNode 01/s2 Alias 3a chiamata: PGALIAS000002->partitionAlias=PGALIAS000002,server=clusterdevNode 02/s3 Alias 4a chiamata: PGALIAS000002->partitionAlias=PGALIAS000002,server=clusterdevNode 02/s3 Alias 5a chiamata: PGALIAS000002->partitionAlias=PGALIAS000002,server=clusterdevNode 01/s2 Alias 6a chiamata: PGALIAS000002->partitionAlias=PGALIAS000002,server=clusterdevNode 02/s3 1a chiamata: PG000001->partition=PG000001,server=clusterdevNode02/s3 2a chiamata: PG000001->partition=PG000001,server=clusterdevNode02/s3 3a chiamata: PG000001->partition=PG000001,server=clusterdevNode02/s3 1a chiamata: PG000002->partition=PG000002,server=clusterdevNode02/s3 2a chiamata: PG000002->partition=PG000002,server=clusterdevNode02/s3 3a chiamata: PG000002->partition=PG000002,server=clusterdevNode02/s3 Alias 1a chiamata: PGALIAS000003->partitionAlias=PGALIAS000003,server=clusterdevNode 01/s2 Alias 2a chiamata: PGALIAS000003->partitionAlias=PGALIAS000003,server=clusterdevNode 01/s2 Alias 3a chiamata: PGALIAS000003->partitionAlias=PGALIAS000003,server=clusterdevNode 01/s2 Alias 4a chiamata: PGALIAS000003->partitionAlias=PGALIAS000003,server=clusterdevNode 01/s2 Alias 5a chiamata: PGALIAS000003->partitionAlias=PGALIAS000003,server=clusterdevNode 01/s2 Alias 6a chiamata: PGALIAS000003->partitionAlias=PGALIAS000003,server=clusterdevNode 01/s2 1a chiamata: PG000004->partition=PG000004,server=clusterdevNode01/s2 2a chiamata: PG000004->partition=PG000004,server=clusterdevNode01/s2 3a chiamata: PG000004->partition=PG000004,server=clusterdevNode01/s2 1a chiamata: PG000007->partition=PG000007,server=clusterdevNode01/s1 2a chiamata: PG000007->partition=PG000007,server=clusterdevNode01/s1 3a chiamata: PG000007->partition=PG000007,server=clusterdevNode01/s1 Alias 1a chiamata: PGALIAS000004->partitionAlias=PGALIAS000004,server=clusterdevNode 01/s1 Alias 2a chiamata: PGALIAS000004->partitionAlias=PGALIAS000004,server=clusterdevNode 01/s1 Alias 3a chiamata: PGALIAS000004->partitionAlias=PGALIAS000004,server=clusterdevNode 01/s1 Alias 4a chiamata: PGALIAS000004->partitionAlias=PGALIAS000004,server=clusterdevNode 01/s1 Alias 5a chiamata: PGALIAS000004->partitionAlias=PGALIAS000004,server=clusterdevNode 01/s1 Alias 6a chiamata: PGALIAS000004->partitionAlias=PGALIAS000004,server=clusterdevNode 01/s1 1a chiamata: PG000003->partition=PG000003,server=clusterdevNode02/s3 2a chiamata: PG000003->partition=PG000003,server=clusterdevNode02/s3 3a chiamata: PG000003->partition=PG000003,server=clusterdevNode02/s3 1a chiamata: PG000005->partition=PG000005,server=clusterdevNode01/s2 2a chiamata: PG000005->partition=PG000005,server=clusterdevNode01/s2 3a chiamata: PG000005->partition=PG000005,server=clusterdevNode01/s2 Alias 1a chiamata: PGALIAS000005->partitionAlias=PGALIAS000005,server=clusterdevNode 01/s1 Alias 2a chiamata: PGALIAS000005->partitionAlias=PGALIAS000005,server=clusterdevNode 01/s1 Alias 3a chiamata: PGALIAS000005->partitionAlias=PGALIAS000005,server=clusterdevNode 01/s1 Alias 4a chiamata: PGALIAS000005->partitionAlias=PGALIAS000005,server=clusterdevNode 01/s1 Alias 5a chiamata: PGALIAS000005->partitionAlias=PGALIAS000005,server=clusterdevNode 01/s1 Alias 6a chiamata: PGALIAS000005->partitionAlias=PGALIAS000005,server=clusterdevNode 01/s1 1a chiamata: PG000009->partition=PG000009,server=clusterdevNode01/s1 2a chiamata: PG000009->partition=PG000009,server=clusterdevNode01/s1 3a chiamata: PG000009->partition=PG000009,server=clusterdevNode01/s1 C:\hao\xd6\bin>
Related concepts
Cos'è un alias di una partizione?