WebSphere Extended Deployment, Version 6.0.x     Sistemi operativi: AIX, HP-UX, Linux, Solaris, Windows, z/OS

Programmazione dell'alias della partizione

I due metodi riportati di seguito vengono aggiunti mediante l'interfaccia PartitionDefition:

 /** 
* Imposta una stringa come nome alias 
* 
*/ 
void setPartitionAlias(String aliasName);

 /** 
* Restituisce la stringa dell'alias della partizione per questa partizione 
* 
* @return String 
*/ 
String getPartitionAlias();

Esempio di programmazione dell'alias della partizione

Due esempi dell'alias della partizione sono forniti come esempi di programmazione. Uno di questi esempi dimostra il modo in cui funziona un'alias della partizione mentre l'altro mostra come funziona in caso di partizioni miste (con alias e senza alias) nella stessa applicazione. I due esempi sono:

Esempio dell'alias della partizione

nel metodo getPartitions() del PSSB, vengono creati partitionDefinition e setPartitionAlias per ogni partizione. Esiste una relazione uno a uno tra la partizione e l'alias della partizione.
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;
	}


Nella classe PartitionAlias_PartitionKey.java:
public class PartitionAlias_PartitionKey {
	/**
	 * restituisce la stringa della partizione come chiave della partizione
	 * @param partition
	 * @return
	 */
	public static String pingAlias(String partitionAlias) {
		return partitionAlias;
	}
	/**
	 * restituisce la stringa della partizione come chiave della partizione
	 * @param partition
	 * @return
	 */
	public static String ping(String partition) {
		return partition;
	}

Alcuni metodi possono utilizzare il contesto dell'alias della partizione mentre altri usano il contesto della partizione.

Esempio di partizione mista (con alias e senza alias)

In questo esempio, non tutte le partizioni hanno degli alias corrispondenti. Solo il 20% della partizioni (1/5) ha un alias associato. Le partizioni che terminano con 0 o 5 hanno un alias, mentre tutte le altre non lo hanno.
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;
	}

Il routing può utilizzare sia il contesto dell'alias di una partizione (se esiste) che il contesto di una partizione. Se l'alias della partizione non esiste e la richiesta del client ha un contesto per l'alias della partizione, le richieste client non riceveranno un'eccezione NO_IMPLEMENT, ma questa partizione senza alias può essere indirizzata con un contesto della partizione. In qualsiasi applicazione, alcune partizioni possono avere un alias mentre altre no.




Related concepts
Cos'è un alias di una partizione?

Argomento Concetti    

Termini di utilizzo | Commenti Ultimo aggiornamento: Mar 20, 2006 1:10:47 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/WPF51/cwpfintrface.html

© Copyright IBM 2005, 2006. Tutti i diritti riservati.
Questo centro informazioni utilizza la tecnologia Eclipse. (http://www.eclipse.org)