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

Programmierung eines Partitionsalias

Die folgenden Methoden werden mit dem Interface PartitionDefition hinzugefügt:

 /** 
* Legt eine Zeichenfolge als Aliasnamen fest.
* 
*/ 
void setPartitionAlias(String aliasName);

 /** 
* Gibt die Zeichenfolge des Partitionsalias für diese Partition zurück
* 
* @return String 
*/ 
String getPartitionAlias();

Beispiel für die Programmierung eines Partitionsalias

Für die Programmierung werden zwei Partitionsaliasbeispiele bereitgestellt. Das eine Beispiel veranschaulicht, wie ein Partitionsalias funktioniert. Das andere Beispiel zeigt, wie Partitionsaliase und Partitionen ohne Alias in einer Anwendung parallel verwendet werden. Die beiden Beispiele werden im Folgenden beschrieben:

Beispiel für Partitionsalias

In der Methode getPartitions() der PSSB werden für jede Partition partitionDefinition und setPartitionAlias erstellt. Es besteht eine 1:1-Beziehung zwischen einer Partition und einem Partitionsalias.
public PartitionDefinition[] getPartitions() {	
		try {
		 //1-1 zwischen Partition und 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;
	}


In der Klasse PartitionAlias_PartitionKey.java:
public class PartitionAlias_PartitionKey {
	/**
	 * Partitionszeichenfolge als Partitionsschlüssel zurückgeben
	 * @param partition
	 * @return
	 */
	public static String pingAlias(String partitionAlias) {
		return partitionAlias;
	}
	/**
	 * Partitionszeichenfolge als Partitionsschlüssel zurückgeben
	 * @param partition
	 * @return
	 */
	public static String ping(String partition) {
		return partition;
	}

Einige Methoden können einen Partitionsaliaskontext und andere einen Partitionskontext verwenden.

Beispiel mit Partitionsalias und Partitionen ohne Alias

In diesem Beispiel haben nur 20 % (1/5) der Partitionen einen Partitionsalias. Die Partitionen, die mit 0 und 5 enden, haben einen Alias, die anderen nicht.
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;
	}

Für das Routing kann ein Partitionsaliaskontext, sofern vorhanden, oder ein Partitionskontext verwendet werden. Wenn für die Partition kein Partitionsalias vorhanden ist und die Clientanforderung einen Partitionsaliaskontext enthält, empfängt die Clientanforderung eine Ausnahme des Typs NO_IMPLEMENT. An die Partition ohne Partitionsalias können jedoch Anforderungen weiterleitet werden, die einen Partitionskontext enthalten. In jeder Anwendung kann es Partitionen mit Aliasen und Partitionen ohne Aliase geben.




Related concepts
Was ist ein Partitionsalias?

Konzeptartikel    

Nutzungsbedingungen | Feedback Letzte Aktualisierung: Mar 23, 2006 9:57:42 AM 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. Alle Rechte vorbehalten.
Dieses Information Center beruht auf der Eclipse-Technologie. (http://www.eclipse.org)