Anwendungen bearbeiten
Sie können implementierte Anwendungen mit der Administrationskonsole, dem Tool "wsadmin" oder durch Programmierung bearbeiten. Verwenden Sie dieses Beispiel, um eine implementierte Anwendung durch Programmierung zu bearbeiten.
Vorbereitende Schritte
Bevor Sie eine Anwendung in WebSphere Application Server bearbeiten können, müssen Sie die Anwendung installieren.
Informationen zu diesem Vorgang
Führen Sie die folgenden Tasks aus, um die implementierte Anwendung zu bearbeiten.
Vorgehensweise
- Stellen Sie eine Verbindung zu WebSphere Application Server her.
- Erstellen Sie einen Proxy-Server für die Anwendungsverwaltung.
- Rufen Sie Informationen über eine installierte Anwendung ab.
- Bearbeiten Sie die Taskdaten nach Bedarf.
- Speichern Sie die Änderungen für die installierte Anwendung.
Ergebnisse
Beispiel
Das folgende Beispiel zeigt, wie Sie eine Anwendung basierend auf den zuvor genannten Schritten bearbeiten.
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 {
// Verbindung zu WebSphere Application Server herstellen.
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);
// Proxy für die Anwendungsverwaltung (AppManagement) erstellen.
AppManagement proxy = AppManagementProxy. getJMXProxyForClient (_soapClient);
String appName = "MyApp";
// Informationen über eine Anwendung mit dem Namen appName abrufen:
// Länderspezifische Informationen als Vorgabe übergeben.
Hashtable prefs = new Hashtable();
prefs.put(AppConstants.APPDEPL_LOCALE, Locale.getDefault());
Vector allTasks = appMgmt.getApplicationInfo (appName, prefs, null);
// Taskdaten nach Bedarf bearbeiten.
if (task.getName().equals ("MapRolesToUsers") && !task. isTaskDisabled())
{
// Spaltenindex für Spalten role und user herausfinden
// Zum Ermitteln der Spaltennamen die vorherige Tabelle verwenden
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;
}
// Über die Taskdaten iterieren; dabei in Zeile 1 beginnen, weil Zeile 0
// die Spaltennamen enthält
String[][]data = task.getTaskData();
for (int i=1; i < data.length; i++)
{
if (data[i][roleColumn].equals ("Role1"))
{
data[i][userColumn]="User1|User2";
break;
}
}
// Jetzt sind die Taskdaten geändert und können wieder gespeichert werden
task.setTaskData (data);
}
// Änderungen in der installierten Anwendung speichern:
// Informationen für eine Anwendung mit dem Namen appName setzen.
// Länderspezifische Informationen als Vorgabe übergeben.
prefs = new Hashtable();
prefs.put(AppConstants.APPDEPL_LOCALE, Locale.getDefault());
appMgmt.setApplicationInfo (appName, prefs, null, allTasks);
}
catch (Exception e) {
e.printStackTrace();
}
}
}