# Terminalserver und Java



## Guest (1. Mai 2008)

Was muss ich beachten, wenn ich ein Java-Programm mit DB-Anbindung auf einem Terminalserver laufen lassen möchte? Ist ein MUSS vom Kunden.


----------



## Guest (1. Mai 2008)

Kann mir keiner weiter helfen?


----------



## HoaX (1. Mai 2008)

wenn dir niemand etwas sagt dann ist die antwort vielleicht "nichts"?!


----------



## Guest (1. Mai 2008)

Unter diesem Thread wird aber gesagt, dass bestimmte Punkte bei einem Terminalserver zu beachten sind:

www.java-forum.org/de/viewtopic.php?t=60887&highlight=citrix

Verwende auch eine H2-DB auf einem Terminalserver - also eine Client/Server-Anwendung.


----------



## HoaX (2. Mai 2008)

ich seh da so beim überfliegen nichts was in diesem thread direkt mit terminalserver zu tun hat ... würdest du konkrete fragen stellen könnte man sicherlich auch antworten.


----------



## robertpic71 (2. Mai 2008)

Anonymous hat gesagt.:
			
		

> Was muss ich beachten, wenn ich ein Java-Programm mit DB-Anbindung auf einem Terminalserver laufen lassen möchte? Ist ein MUSS vom Kunden.



Für die Clientseite gibt es normalerweise kein Problem. Problem wäre nur, wenn der Datenbankserver auch am Server läuft und jeder Client die Datenbank (im Servermodus) mitstarten will.

Bei uns im Haus setzen wir auch den (meisten) Usern einen Linuxdesktop vor die Nase. Die "nicht vermeidbaren Windowsanwendungen" - meistens Katalog- und Planungssoftware von den Lieferanten - laufen auf einem Terminalserver.

Hier ein paar "Leidenswege":

1.) Die Anwendung arbeitet immer mit den gleichen temporären Zwischendateien aus dem Programmverzeichnis. Wenn dann mehrere Leute parallel damit arbeiten, gibt es Fehlfunktionen und Abstürze.

Java Abhilfe: mit Systemwert user.dir arbeiten oder Zwischendateien vermeiden bzw. nummerieren

2.) Die Katalog-CD Xy bringt eine Datenbank z.B. Firebird mit. Beim Start der Katalog-Software wird die Datenbank gestartet, die Software greift mittels TCP darauf zu. Wenn ein weiterer User die Software startet, schlägt das fehl, weil die Datenbank nicht noch einmal gestartet weden kann (der Netzwerkport ist bereits belegt).

2a) Verschiedene Hersteller arbeiten mit der selben Datenbank und kommen sich dann auch mit dem Port ins Gehege.

Java Abhilfe: Mit einer embedded Datenbank wie H2 arbeiten (wenn jeder User für sich arbeiten soll).

3.) Mehrere Instanzen arbeiten mit den selben Registryeinträgen. Anstatt mit CurrentUser arbeiten die Anwendung mit CurrentMaschine (für Userdaten) und produzieren Fehlerfunktionen und Abstürze.

Ich habe nicht alle Fehlerursachen ausmachen können, aber wir haben hier einiges an Software das einfach nur für einen User läuft. Viele Probleme (Registry, externe embedded Datenbank) stellen sich in der Javawelt erst gar nicht.

/Robert


----------



## Alex_winf01 (2. Mai 2008)

@ robertpic71

Solche Probleme kenn ich nicht. Danke aber für Hinweise. Bei mir ist es so, dass ich auch eine H2-Datenbanke nutze. Der Systemadmin startet Server und Port. Der Anwender hat sein Jar-File und eine Konfig-Datei. Der Anwender greift nur über das Jar-File auf die DB zu - ohne den Port oder die DB nochmals zu starten.


----------

