Applikationsparameter definieren und verwenden

Dokumente für die Entwicklung von und mit JVx.

Applikationsparameter definieren und verwenden

Postby Development@SIB » Thu Sep 09, 2010 3:25 pm

Es ist nicht unüblich, einer Applikation, bereits beim Start diverse Parameter zu übergeben damit die Applikation bereits bei der Initialisierung darauf Rücksicht nehmen kann. Solche Parameter wären z.B. der Log Level, das Look and Feel, ein beliebiger Benutzername, uvm.

Es gibt mehrere Möglichkeiten um Applikationsparameter zu definieren. Je nachdem in welcher Technologie die Applikation betrieben wird, ist die eine oder andere Variante geeignet:

  • Kommandozeilenparameter (für Desktop Anwendungen)
  • URL Parameter (für RIA und Web Anwendungen)
  • HTML Datei mit speziellen TAGs (für RIA und Web Anwendungen)
  • Deployment Deskriptor (für Web Anwendungen)
  • XML Datei mit Parametern

Unabhängig davon, wie die Applikationsparameter definiert werden, erfolgt der Zugriff auf die vorhandenen Parameter immer einheitlich über den Launcher. Dieser definiert dafür folgende Methoden:

Code: Select all
public String getParameter(String pName);
public void setParameter(String pName, String pValue);

Die Methode zum Setzen eines Parameters verändert den Parameter nur innerhalb der Anwendung. Wenn die Anwendung beendet wird ist auch die Änderung verloren.


Kommandozeilenparameter

Ein Kommandozeilenparameter wird entweder beim Start der Applikation, in der IDE, definiert oder beim manuellen Aufruf direkt übergeben. Der Parameter muss wie folgt definiert werden:

name=wert bzw. "name=wert"


URL Parameter

Wenn die Anwendung als RIA oder Web Anwendung gestartet wird, können in üblicher Art und Weise die Parameter an den URL angehängt werden:

Code: Select all
http://hostname/index.html?param=value&param2=value2


HTML Datei

Im Falle einer RIA Anwendung müssen die Konventionen des Java Plugins eingehalten werden:

Code: Select all
<APPLET ...>
  <PARAM NAME = "param" VALUE = "value" />
</APPLET>

oder

Code: Select all
<EMBED ... param = "value" />


Wenn die Anwendung mit dem WebUI gestartet wird, müssen die Parameter wie folgt definiert werden:

Code: Select all
<head>
  <meta name="gwt:property" content="param=value" />
</head>

Wenn die HTML Datei in Kombination mit URL Parametern verwendet wird, so überschreiben die Parameter aus der HTML Datei gleichnamigen Parameter.


Deployment Deskriptor

Die Parameter für eine Web Anwendung können durch den Deployment Deskriptor (web.xml) definiert werden:

Code: Select all
...
<servlet>
  <servlet-name>WebLauncherServiceImpl</servlet-name>
  <servlet-class>com.sibvisions.rad.ui.gwt.server.WebLauncherServiceImpl</servlet-class>
   
  <init-param>
    <param-name>param</param-name>
    <param-value>value</param-value>
  </init-param>     
</servlet>

Die Parameter aus dem Deployment Deskriptor überschreiben die gleichnamigen Parameter aus dem URL oder einer HTML Datei.


XML Datei

Beim Start der Applikation ermittelt der Launcher (optionale) Parameter aus einer XML Konfiguration. Wenn nicht anders definiert, wird die Datei application.xml eingelesen. Die Datei sollte folgenden Aufbau haben:

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>

<application>
  ...
  <param>value</param> 
  <param2>value2</param2> 
</application>

Die Datei sollte im selben Pfad wie die Application Implementierung zu finden sein (Verzeichnis, jar, URL). Die Datei kann aber auch vom Entwickler definiert werden. Entweder als Kommandozeilenparameter (2. Parameter) oder durch die Angabe des Parameters config, z.B.: config=/package/app.xml in der URL oder HTML Datei.

Wenn die XML Konfiguration in Kombination mit Kommandozeilen-, URL oder HTML Parametern verwendet wird, so überschreiben die Parameter aus der XML Datei gleichnamigen Parameter.
User avatar
Development@SIB
 
Posts: 311
Joined: Mon Sep 28, 2009 1:54 pm

Return to Dokumentation