--Verwenden von Client/Server Properties
1 post
• Page 1 of 1
--Verwenden von Client/Server Properties
Dieser Artikel ist veraltet - Bitte verwenden Sie unser neues System
https://doc.sibvisions.com
Die Client/Server Properties werden verwendet um Informationen über den Client zum Server und vom Server zum Client zu übertragen. Die Übertragung von Properties ist bereits ins Kommunikationsprotokoll integriert und bedarf keiner speziellen Behandlung.
Bei der Übertragung werden nur neue, geänderte oder gelöschte Properties berücksichtigt. Weiters werden nur Strings, Numerische und Boolsche Werte übertragen jedoch keine serialisierbaren POJOs. Es wird garantiert, daß am Server und Client dieselben Properties zur Verfügung stehen und zum Zeitpunkt des Zugriffs synchronisiert sind.
Wenn eine Property am Client gesetzt wird, dann löst das nicht in allen Fällen eine sofortige Übertragung zum Server aus. Die Properties werden im Normalfall bei der nächsten Kommunikation vollautomatisch berücksichtigt. Es gibt jedoch auch Properties für die dies nicht zutrifft. Dabei handelt es sich um Properties mit denen spezielle Einstellungen wie z.B Timeouts gesteuert werden.
Die Properties werden am Client mit der Connection Klasse gesetzt:
- Code: Select all
MasterConnection macon = new MasterConnect(createConnection());
macon.setProperty(IConnectionConstants.PREFIX_CLIENT + "language", "de_AT");
Die Properties werden als Key/Value Paar definiert. Der Key kann grundsätzlich beliebig gewählt werden. Es gibt jedoch vordefinierte Kategorien die durch IConnectionConstants PREFIX_CLIENT, PREFIX_SERVER, PREFIX_SESSION, PREFIX_SYSPROP und PREFIX_REQUEST festgelegt sind.
Alle Properties die mit PREFIX_SERVER + PREFIX_SESSION beginnen, lösen eine sofortige Übertragung vom Client zum Server aus wenn die Verbindung bereits hergestellt wurde. Und Properties mit dem PREFIX_CLIENT dürfen nur verändert werden, solange die Verbindung zwischen Client und Server noch nicht hergestellt wurde.
Beim Aufbau einer Verbindung werden bereits einige vordefinierte Properties gesetzt, wie z.B.:
PREFIX_CLIENT + PREFIX_SYSPROP + "user.name" mit System.getProperty("user.name")
PREFIX_CLIENT + PREFIX_SYSPROP + "os.name" mit System.getProperty("os.name")
PREFIX_CLIENT + PREFIX_SYSPROP + "os.version" mit System.getProperty("os.version")
...
...
PREFIX_CLIENT + "spec_version" mit javax.rad.IPackageSetup.SPEC_VERSION
Am Server werden die Properties direkt in die Session gesetzt. Die Session ist über den SessionContext verfügbar:
- Code: Select all
SessionContext.getCurrentSession().setProperty("name", "value");
Auch Serverseitig werden beim Initialisieren der Session bereits Properties gesetzt:
PREFIX_SERVER + PREFIX_SYSPROP + "user.name" mit System.getProperty("user.name")
PREFIX_SERVER + PREFIX_SYSPROP + "os.name" mit System.getProperty("os.name")
PREFIX_SERVER + PREFIX_SYSPROP + "os.version" mit System.getProperty("os.version")
...
...
PREFIX_SERVER + "server_version" mit com.sibvisions.rad.IPackageSetup.SERVER_VERSION
PREFIX_SERVER + "spec_version" mit javax.rad.IPackageSetup.SPEC_VERSION
PREFIX_SERVER + "hostname" mit dem Namen des Rechners auf dem der Server läuft
PREFIX_SERVER + "address" mit der IP Adresse des Rechners auf dem der Server läuft
-
Development@SIB - Posts: 325
- Joined: Mon Sep 28, 2009 1:54 pm
1 post
• Page 1 of 1