Edición de aplicaciones
Puede editar aplicaciones desplegadas a través de la consola administrativa, la herramienta wsadmin o mediante programación. Utilice este ejemplo para editar una aplicación desplegada a través de programación.
Antes de empezar
Para poder editar una aplicación en WebSphere Application Server, debe instalar la aplicación.
Acerca de esta tarea
Realice las siguientes tareas para editar la aplicación desplegada.
Procedimiento
- Conéctese a WebSphere Application Server.
- Cree un proxy de gestión de aplicaciones.
- Obtenga información sobre una aplicación instalada.
- Manipule datos de tarea según sea necesario.
- Guarde los cambios para la instalación instalada.
Resultados
Ejemplo
En el ejemplo siguiente se muestra cómo editar una aplicación, basándose en los pasos anteriores.
import java.lang.*;
import java.io.*;
import java.util.*;
import java.lang.reflect.*;
import com.ibm.websphere.management.application.*;
import com.ibm.websphere.management.application.client.*;
import com.ibm.websphere.management.*;
import javax.management.*;
public class aa {
public static void main(String[] args) {
try {
// Conectarse a WebSphere Application Server.
String host = "localhost";
String port = "8880";
String target = "WebSphere:cell=cellName,node=nodeName,server=server1";
Properties config = new Properties();
config.put (AdminClient.CONNECTOR_HOST, host);
config.put (AdminClient.CONNECTOR_PORT, port);
config.put (AdminClient.CONNECTOR_TYPE, AdminClient.CONNECTOR_TYPE_SOAP);
System.out.println ("Config: " + config);
AdminClient _soapClient = AdminClientFactory.createAdminClient(config);
// Crear el proxy de gestión de aplicaciones, AppManagement.
AppManagement proxy = AppManagementProxy. getJMXProxyForClient (_soapClient);
String appName = "MyApp";
// Obtener información para una aplicación de nombre appName:
// Pasar información de entorno local como preferencia.
Hashtable prefs = new Hashtable();
prefs.put(AppConstants.APPDEPL_LOCALE, Locale.getDefault());
Vector allTasks = appMgmt.getApplicationInfo (appName, prefs, null);
// Manipular datos de tarea según sea necesario.
if (task.getName().equals ("MapRolesToUsers") && !task. isTaskDisabled())
{
// Averiguar el índice de columna para la columna role y user
// consultar la tabla anterior para encontrar los nombres de columna
int roleColumn = -1;
int userColumn = -1;
String[] colNames = task.getColumnNames();
for (int i=0; i < colNames.length; i++)
{
if (colNames[i].equals ("role"))
roleColumn = i;
else if (colNames[i].equals ("role.user"))
userColumn = i;
}
// Repetir datos de tarea a partir de la fila 1 ya que row0 es
// nombres de columna
String[][]data = task.getTaskData();
for (int i=1; i < data.length; i++)
{
if (data[i][roleColumn].equals ("Role1"))
{
data[i][userColumn]="User1|User2";
break;
}
}
// Ahora que los datos han cambiado, volver a guardarlos
task.setTaskData (data);
}
// Volver a guardar los cambios en la aplicación instalada:
// Establecer información para una aplicación con el nombre appName.
// Pasar información de entorno local como preferencia.
prefs = new Hashtable();
prefs.put(AppConstants.APPDEPL_LOCALE, Locale.getDefault());
appMgmt.setApplicationInfo (appName, prefs, null, allTasks);
}
catch (Exception e) {
e.printStackTrace();
}
}
}