Toon posts:

[Java] multithreaded DB acces

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo,
er moeten meerdere gebruikers gebruik kunnen maken van en databas
hierom zie ik volgende oplossingen

1.iedere user zij eigen Statement object geven, door conn.createStatement(),
maar kan dit uberhauptwel?
2. 1 statement voor iedereen, en daar met synchronised methods dan queries aan doorgeven
maar als iemand dan een felle query uitvoert moeten de andere users wachten

iemand een idee

Verwijderd

Maak gebruik van een database connection pool, op Google is daar voldoende over te vinden.

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Yep voor elke gebruiker een Connectie aan (laten) maken is waarschijnlijk het meest haalbare en daar connecties imho ook voor bedoeld :)

Verwijderd

Topicstarter
ok
connectie per user aanmaken,en alsde user klaar is de connectie afbreken

ok,
maarde methods die gebruik maken van deze connectie,
vb
public update(Klasse k)
moetdie dan synchronized zijn?

  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
ga eens zoeken op db connectie pooling. Ik heb zelf laatst die van protomatter gebruikt. Je kunt dan zoveel processen als je wilt een verbinding met de db laten maken, de pool zorgt ervoor dat er niet teveel verbindingen opgetrokken worden, en dat 1 verbinding niet door 2 processen tegelijk gebruikt wordt. Daarnaast zou ik ervoor zorgen dat je een multiuser db hebt, dus liever niet Access oid, maar iets wat transactions en locking goed ondersteunt (SQL Server, Oracle)

  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
en synchronized methodes gebruik je als meerdere processen dezelfde instantie van een datastructuur lezen en wijzigen. Is hier dus niet van toepassing, want de processen schrijven in de db, en niet in een java object.

  • momania
  • Registratie: Mei 2000
  • Laatst online: 29-08 21:30

momania

iPhone 30! Bam!

Mij is nou niet helemaal duidelijk of je nu met meerdere java clients verbinding
wil maken met een database of dat je dit middels een client-server opzet wil gaan doen.

Als je dit volgens client-server gaat doen kan je dit, zoals eerder al gezegd, oplossen
met connection pooling en daar is zat over te vinden als je even de moeite neemt om
te zoeken...

Neem je whisky mee, is het te weinig... *zucht*

Pagina: 1