Evitaţi utilizarea metodei perimate moveModule pentru gestionarea aplicaţiilor

Această regulă semnalează utilizarea următoarelor metode pentru gestionarea aplicaţiilor:

Aceste metode sunt perimate începând cu WebSphere Application Server Versiunea 5.0 şi nu furnizează nicio funcţionalitate. Ele pot fi înlocuite cu apeluri ale metodei setModuleInfo din aceeaşi clasă.

De exemplu, un apel pentru moveModule poate fi similar cu următorul:

appManagement.moveModule(appName, prefs, uniqueModuleURI, objectName, workspaceID);

Utilizând multe argumente de acelaşi fel, s-ar putea realiza codarea cu metoda setModuleInfo. De exemplu:

int TARGET_COL = 2;
String newTarget = null;

// Get the new target from the 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();

// Loop through the task data
while ( iter.hasNext()) {
AppDeploymentTask task = (AppDeploymentTask) iter.next();
String taskName = task.getName().trim();

// Find the MapModulesToServers task
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);
}

Pentru informaţii suplimentare privind clasa, consultaţi