Manipular atributos adicionales para una aplicación desplegada

Puede manipular atributos para una aplicación desplegada a través de la consola de administración, la herramienta wsadmin o mediante programación. Utilice este ejemplo para manipular atributos que no se exponen durante o después de la instalación de aplicación a través del objeto AppDeploymentTask.

Antes de empezar

En esta tarea se supone que se tienen conocimientos básicos de la programación de MBean y las interfaces ConfigService. Consulte la documentación sobre las interfaces de programación de aplicaciones para obtener información acerca de las interfaces ConfigService y la programación MBean.

Acerca de esta tarea

Lleve a cabo las siguientes tareas para que la aplicación desplegada pueda manipular atributos que no están expuestos a través del objeto AppDeploymentTask. Los atributos se guardan en el archivo deployment.xml que se crea en el repositorio de configuración para cada aplicación desplegada.

Procedimiento

  1. Cree una sesión.
  2. Conéctese a WebSphere Application Server.
  3. Localice el objeto ApplicationDeployment.
  4. Manipule los atributos.
  5. Guarde los cambios.
  6. Borre la sesión.

Resultados

Después de ejecutar satisfactoriamente el código, se actualizan los atributos en el archivo deployment.xml para la aplicación desplegada.

Ejemplo

En el ejemplo siguiente se muestra cómo manipular los atributos startingWeight, warClassLoaderPolicy y classloader basándose en los pasos anteriores.

import java.util.Properties;

import javax.management.Attribute;
import javax.management.AttributeList;
import javax.management.ObjectName;

import com.ibm.websphere.management.AdminClient;
import com.ibm.websphere.management.AdminClientFactory;
import com.ibm.websphere.management.Session;
import com.ibm.websphere.management.configservice.ConfigService;
import com.ibm.websphere.management.configservice.ConfigServiceHelper;
import com.ibm.websphere.management.configservice.ConfigServiceProxy;
import com.ibm.websphere.management.exception.ConfigServiceException;
import com.ibm.websphere.management.exception.ConnectorException;

public class AppManagementSample1 {

	public static void main(String[] args) {
				String hostName = "localhost";
		String port = "8880";
				String appName = "ivtApp";

				ConfigService configService = null;

				// Crear una sesión.
		Session session = new Session();

				// Establecer conexión al servidor.
		try {
			Properties props = new Properties();
						props.setProperty(AdminClient.CONNECTOR_TYPE, 
										AdminClient.CONNECTOR_TYPE_SOAP);
						props.setProperty(AdminClient.CONNECTOR_HOST, hostName);
						props.setProperty(AdminClient.CONNECTOR_PORT, port);
			AdminClient adminClient = 
								AdminClientFactory.createAdminClient(props);

						// Crear un objeto proxy de servicio de configuración.
						configService = new ConfigServiceProxy(adminClient);

						// Localizar el objeto de aplicación.
						ObjectName rootID = configService.resolve(session,
										"Deployment="+appName)[0];
						System.out.println ("rootID is: " + rootID);

						// Localizar el objeto ApplicationDeployment desde el directorio raíz. 
						ObjectName appDeplPattern = ConfigServiceHelper.createObjectName
												(null, "ApplicationDeployment");
			/*
						ObjectName appDeplID = configService.queryConfigObjects(session, 
										rootID, appDeplPattern, null)[0];
			*/
						AttributeList list1 = configService.getAttributes(session, 
										rootID, new String[]{"deployedObject"}, false);
						ObjectName appDeplID = (ObjectName)
								ConfigServiceHelper.getAttributeValue(list1, "deployedObject");
						System.out.println ("appDeplID: " + appDeplID);
			
						// Localizar el cargador de clases.
			
						// Cambiar el peso inicial mediante el atributo startingWeight. El peso inicial 
       // influyen en el orden en el que se inician las aplicaciones.
						AttributeList attrList = new AttributeList();
						Integer newWeight = new Integer (10);
						attrList.add(new Attribute("startingWeight", newWeight));

						// Cambiar la política del cargador de clases WAR mediante el atributo warClassLoaderPolicy 
       // especificando SINGLE o MULTIPLE.
						// SINGLE=un cargador de clases para todos los módulos WAR
						attrList.add(new Attribute("warClassLoaderPolicy", "SINGLE"));

						// Establecer la modalidad del cargador de clases en PARENT_FIRST o PARENT_LAST.
						AttributeList clList = (AttributeList) configService.getAttribute
								(session, appDeplID, "classloader");
						ConfigServiceHelper.setAttributeValue (clList, "mode",
								"PARENT_LAST");
						attrList.add (new Attribute ("classloader", clList));

						// Establecer los nuevos valores.
						configService.setAttributes(session,  appDeplID, attrList);

						// Guardar los cambios.
			configService.save(session, false);

		} catch (Exception ex) {
			ex.printStackTrace();
		} finally {
            // Borrar la sesión.
			try {
								configService.discard(session);
			}
						catch (ConfigServiceException csEx)
			{
								csEx.printStackTrace();
			}
						catch (ConnectorException cnEx)
			{
								cnEx.printStackTrace();
			}
		}		
	}
}

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjmx_config_appdeploy
File name: tjmx_config_appdeploy.html