Weitere Attribute für eine implementierte Anwendung bearbeiten

Sie können die Attribute für eine implementierte Anwendung mit der Administrationskonsole, mit dem Tool "wsadmin" oder durch Programmierung bearbeiten. Verwenden Sie dieses Beispiel, um nicht offen gelegte Attribute während oder nach der Anwendungsinstallation über das Objekt AppDeploymentTask zu bearbeiten.

Vorbereitende Schritte

Für diese Task werden Grundkenntnisse in der Programmierung von MBeans und in den ConfigService-Schnittstellen vorausgesetzt. Lesen Sie die Informationen zur MBean-Programmierung und zu den ConfigService-Schnittstellen in der Dokumentation zu den Anwendungsprogrammierschnittstellen.

Informationen zu diesem Vorgang

Führen Sie die folgenden Tasks für die implementierte Anwendung aus, um Attribute zu bearbeiten, die nicht über das Objekt AppDeploymentTask offen gelegt werden. Die Attribute werden in der Datei deployment.xml gespeichert, die für jede implementierte Anwendung im Konfigurationsrepository erstellt wird.

Vorgehensweise

  1. Erstellen Sie eine Sitzung.
  2. Stellen Sie eine Verbindung zu WebSphere Application Server her.
  3. Suchen Sie das ApplicationDeployment-Objekt.
  4. Bearbeiten Sie die Attribute.
  5. Speichern Sie Ihre Änderungen.
  6. Bereinigen Sie die Sitzung.

Ergebnisse

Nachdem Sie den Code erfolgreich ausgeführt haben, werden die Attribute in der Datei deployment.xml für die implementierte Anwendung aktualisiert.

Beispiel

Das folgende Beispiel zeigt, wie die Attribute startingWeight, warClassLoaderPolicy und classloader basierend auf den vorherigen Schritten bearbeitet werden.

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;

		// Sitzung erstellen.
		Session session = new Session();

				// Verbindung zum Server herstellen.
		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);

						// Proxy-Objekt für Konfigurationsservice erstellen.
						configService = new ConfigServiceProxy(adminClient);

						// Anwendungsobjekt suchen.
						ObjectName rootID = configService.resolve(session,
										"Deployment="+appName)[0];
						System.out.println ("rootID is: " + rootID);

						// ApplicationDeployment-Objekt unterhalb des Stammobjekts suchen.
						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);
			
						// Klassenlader suchen
			
						// Anfangswertigkeit über das Attribut startingWeight ändern. Die Anfangswertigkeit
       // wirkt sich auf die Reihenfolge aus, in der die Anwendungen gestartet werden.
						AttributeList attrList = new AttributeList();
						Integer newWeight = new Integer (10);
						attrList.add(new Attribute("startingWeight", newWeight));

						// Richtlinie für WAR-Klassenlader über das Attribut warClassLoaderPolicy durch Angabe
       // von SINGLE oder MULTIPLE ändern.
						// SINGLE=Ein Klassenlader für alle WAR-Module.
						attrList.add(new Attribute("warClassLoaderPolicy", "SINGLE"));

						// Klassenladermodus auf PARENT_FIRST oder PARENT_LAST setzen.
						AttributeList clList = (AttributeList) configService.getAttribute
								(session, appDeplID, "classloader");
						ConfigServiceHelper.setAttributeValue (clList, "mode",
								"PARENT_LAST");
						attrList.add (new Attribute ("classloader", clList));

						// Die neuen Werte setzen.
						configService.setAttributes(session,  appDeplID, attrList);

						// Änderungen speichern.
			configService.save(session, false);

		} catch (Exception ex) {
			ex.printStackTrace();
		} finally {
            // Sitzung bereinigen.
			try {
								configService.discard(session);
			}
						catch (ConfigServiceException csEx)
			{
								csEx.printStackTrace();
			}
						catch (ConnectorException cnEx)
			{
								cnEx.printStackTrace();
			}
		}		
	}
}

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjmx_config_appdeploy
Dateiname:tjmx_config_appdeploy.html