MysqlConnect und Speicher

Status
Nicht offen für weitere Antworten.

terese0815

Mitglied
Hallo Zusammen,

ich habe hier ein Javaprojekt, dass dauerhaft auf dem Server läuft und von mehreren Clients gleichzeitig verwendet wird. In dieser Anwendung initialisiere ich eine Mysql-Verbindung.

Da ein Servermodul für mich absolutes Neuland ist und Java dazu frage ich mich, wie sich der Speicherverbrauch im Laufe der Zeit entwickelt.

Wie verhält sich die Software?

Ich öffne die Mysql-Verbindung für jeden Connect eines Clients in der folgenden Weise:

Java:
	public void MysqlConnect() {
		try {
			Class.forName("com.mysql.jdbc.Driver").newInstance(); 
		} 
		catch (Exception e) { 
			getLogger().error("Error loading: com.mysql.jdbc.Driver: "+e.toString());
		} 
		
		try {
			conn = DriverManager.getConnection(mysql_connection);
			try	{
				stmt = conn.createStatement();
				
			}			
			catch (SQLException sqlEx) {
				getLogger().error("sqlexecuteException: " + sqlEx.toString());
				//client.setShutdownClient(true);
			} 
		} 
		catch (SQLException ex) {
			// handle any errors
			System.out.println("SQLException: " + ex.getMessage());
			System.out.println("SQLState: " + ex.getSQLState());
			System.out.println("VendorError: " + ex.getErrorCode());
			//client.setShutdownClient(true);
		}
	}

Wenn ich nun die Verbindung zur DB am Ende der Clientsitzung kappe, kappe ich doch sicher auch die der anderen noch aktiven Clients oder?

Wenn ich die Verbindung offen lasse und bei jeden Client neu initialisiere... läuft mir dann irgendwann der Speicher voll oder wird das alte Objekt überschrieben?


Grüße

Stefan
 
G

Gelöschtes Mitglied 5909

Gast
wo steht der Code? In einem Servlet?

Verwende am besten einen Connection-Pool
 

terese0815

Mitglied
Ja richtig.

Kann ich die Connections für die einzelnen Clients in eine Hashmap packen? Diese würden sich dann ja am Ende der Sitzung einfach auflösen lassen.
 
M

maki

Gast
Ein Connectionpool ist 'ne gute Idee, vor allen Dingen aber schliesse das ResultSet, das Statement und die Connection!!
 

terese0815

Mitglied
Ich habe mir mal eine Class gezogen und spiele damit rum.

Ich packe in jede Eventclass jenes...

Java:
			ConnectionPool cp = new ConnectionPool("org.gjt.mm.mysql.Driver", mysql_connection);
			Connection con = cp.getConnection();
			Statement stmt = con.createStatement();
			ResultSet rs = null;
			stmt.executeUpdate("UPDATE profil_cams SET cam_status = NULL, cam_last_active = NOW() WHERE user_id = '" + UserID.get(Integer.toString(client.getClientId())) + "'");
			stmt.close();
			cp.closeConnection(con);

Ich habe hier auf der Testumgebung jedoch einen extremen delay beim Connect auf die DB da diese auf einem absolut langsamen Rechner läuft.

Ist es sinnvoll dergleichen auch bei einem Timer vorzugehen, der alle 5 Sek. die DB checkt? Das ist ja jedes mal ein Connect.

Grüße

Stefan
 
G

Gelöschtes Mitglied 5909

Gast
öffne die connection in Servlet#init und schließe sie in Servlet#destroy oder noch besser: schreib dir DAOs
 

terese0815

Mitglied
Ich glaube mit DAOs werde ich mich später befassen müssen. Die Zeit wird knapp:( So wie ich das gerade gelesen habe, könnte ich mit DAO's auch disconnect's der DB abfangen oder? Wäre natürlich mehr als praktisch wenn dem so ist.

Den Path habe ich aktualisiert.


Danke auf jeden Fall schon mal für die Hilfe!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Ist Off-Heap-Speicher dasselbe wie Stack-Speicher? Java Basics - Anfänger-Themen 2
B Objekte, bspw. konkret Arraylists,manuell aus Speicher löschen? Java Basics - Anfänger-Themen 70
KogoroMori21 Stack und Heap Speicher Java Basics - Anfänger-Themen 1
B Wie speicher ich die Outputs einer Methode in ein Array ein? Java Basics - Anfänger-Themen 1
L Frage zum Speicher bei Arrays Java Basics - Anfänger-Themen 7
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
F BufferedImage Speicher Nutzung Java Basics - Anfänger-Themen 2
TheSorm Problem mit Speicher Klasse Java Basics - Anfänger-Themen 3
S Wo speicher ich bilder und sounds ab? Java Basics - Anfänger-Themen 4
TheSorm Kleine Speicher Klasse Java Basics - Anfänger-Themen 24
H Methoden "Leeren" Speicher auf der Festplatte überschreiben Java Basics - Anfänger-Themen 8
C Variablen Speicher von Variablen erhöhen Java Basics - Anfänger-Themen 5
I Werte im Speicher auswerten ohne Umweg über eine Datei Java Basics - Anfänger-Themen 16
H Input/Output ImageIO.load frisst meinen ganzen Speicher weg! Java Basics - Anfänger-Themen 4
R Online-Speicher Java Basics - Anfänger-Themen 7
M Variablen speicher Java Basics - Anfänger-Themen 8
J FileOutputStream aktuelle Speicher Pfad ausgeben Java Basics - Anfänger-Themen 13
L Wieviel Speicher braucht ein Pixel? Java Basics - Anfänger-Themen 14
B Heap-Speicher wieder freigeben Java Basics - Anfänger-Themen 10
P Belegt "null" Speicher? Java Basics - Anfänger-Themen 25
T Erste Schritte Speicher läuft voll, Diashow, Images Java Basics - Anfänger-Themen 7
C Soundwiedergabe in einem Thread - Speicher besser bereinigen Java Basics - Anfänger-Themen 3
H warum speicher und läd mien editor nicht? Java Basics - Anfänger-Themen 24
nabla Speicher voll, mit dem GC geht's daneben? Java Basics - Anfänger-Themen 7
hdi Programmier-Stil : Speicher vs. Quellcode Java Basics - Anfänger-Themen 67
G Button soll Speicher Dialog aufrufen Java Basics - Anfänger-Themen 10
N Probleme mit Input/OutputStreams, Daten im Speicher verwalte Java Basics - Anfänger-Themen 2
D nicht genug speicher - profiling trotz error Java Basics - Anfänger-Themen 5
A Problem mit nicht ausreichendem Speicher Java Basics - Anfänger-Themen 3
K speicher(String a, int b) Java Basics - Anfänger-Themen 14
N Zugriff auf Virtuelles Speicher Java Basics - Anfänger-Themen 18
J Belegter Speicher eines Ordners Java Basics - Anfänger-Themen 2
C args[] als statische Variablen speicher oder wie? Java Basics - Anfänger-Themen 12
S Ringbuffer-Speicher mit einem Textfile Java Basics - Anfänger-Themen 2
A eingabe von jTextField lesen und speicher Java Basics - Anfänger-Themen 5
D Werte in Array speicher Java Basics - Anfänger-Themen 8
M Hilfe: Speicher freigeben? Java Basics - Anfänger-Themen 4
G Speicher als .txt -gibt ein Problem! Java Basics - Anfänger-Themen 6
A Speicher von VM ändern ohne Parameter Java Basics - Anfänger-Themen 3
S Speicher freigeben? Java Basics - Anfänger-Themen 5
T Größe eines Objektes im Speicher Java Basics - Anfänger-Themen 4
G Wieviel Speicher verbraucht ein Array? Java Basics - Anfänger-Themen 7
D Mit Java auf Speicher zugreifen Java Basics - Anfänger-Themen 3
L-ectron-X Speicher freigeben - Garbage Collection Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben