Ta reguła oznacza użycia następujących metod zarządzania aplikacjami:
-
com.ibm.websphere.management.application.AppManagement.moveModule()
-
com.ibm.websphere.management.application.AppManagementProxy.moveModule()
Te metody zostały uznane za nieaktualne na serwerze WebSphere Application Server 5.0 i nie udostępniają
żadnej funkcjonalności. Można je zastąpić wywołaniami do
setModuleInfo
w tej samej klasie.
Na przykład wywołanie
moveModule
może być podobna do następującej:
< span class="Kod">
appManagement.moveModule(appName, prefs, uniqueModuleURI, objectName, workspaceID);
Używając wielu z tych samych argumentów, można je zakodować za pomocą
setModuleInfo
. Na przykład:
int TARGET_COL = 2;
String newTarget = null;
//Pobieranie nowego obiektu docelowego z obiektu ObjectName
if (objectName.getKeyProperty("server")!=null) {
newTarget = objectName.getKeyProperty("server");
} else if (objectName.getKeyProperty("cluster")!=null) {
newTarget = objectName.getKeyProperty("cluster");
}
if (newTarget!=null) {
Vector taskVector = appManagement.getModuleInfo(appName, prefs, uniqueModuleURI, workspaceID);
Iterator iter = taskVector.iterator();
//Wykonywanie pętli dotyczącej danych zadania
while ( iter.hasNext()) {
AppDeploymentTask task = (AppDeploymentTask) iter.next();
String taskName = task.getName().trim();
//Wyszukiwanie zadania MapModulesToServers
if (taskName.equals("MapModulesToServers")) {
String[][] taskData = task.getTaskData();
for (int i=1; i <taskData.length; i + +) {
// update the target
taskData[i][TARGET_COL] = newTarget;
}
break;
}
}
appManagement.setModuleInfo(appName, prefs, uniqueModuleURI, workspaceID, taskVector);
}
Więcej informacji o klasach zawierają następujące zasoby: