Toon posts:

[Java] Reeds geladen klassen raadplegen in VM

Pagina: 1
Acties:

Verwijderd

Topicstarter
Is het mogelijk om, voordat een object gecreerd wordt in de VM te checken of deze reeds bestaat?

Wat ik er mee wil bereiken:
Als ik het programma start, wil ik kijken of deze niet al bestaat in de Virtual machine.

Dit moet toch wel mogelijk zijn lijkt me?

THX!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Als je inderdaad wilt kijken of in dezelfde JVM al een instantie is zou je richting een toepassign van het singleton pattern kunnen denken. op "singleton pattern" zoeken met Google levert meer dan genoeg info hierover op.

Merk echter wel op dat programmas vaak in verschillende JVMs worden gestart.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
mbravenboer schreef op 16 november 2003 @ 16:22:
Merk echter wel op dat programmas vaak in verschillende JVMs worden gestart.
Hmmz, dan bereik ik mijn doel nog niet. Want het gaat echt om het starten van het programma.
Er mag niet een tweede instantie van het programma gemaakt worden.

Is het dan mogelijk het programma te "registreren" in het systeem, zodat ik hierop kan checken?

  • TlighT
  • Registratie: Mei 2000
  • Laatst online: 22-03 10:40
Volgens mij gaat dat zo niet, want elke instantie van het programma heeft zijn eigen VM.

Een andere manier om te kijken of je programma al is geladen, is je programma een lock bestand te laten wegschrijven (edit: en dit bestand natuurlijk weer verwijderen als het programma gestopt wordt). Als het programma gestart wordt, kijk je of dit bestand al bestaat. Zo ja, dan is er al een instantie van het programma gestart. Zo doet Eclipse dat tenminste.

[ Voor 11% gewijzigd door TlighT op 16-11-2003 17:48 ]


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 18-08 22:57

Gerco

Professional Newbie

Onder Windows kun je een Mutex registreren oid, Controleren op die Mutex en je kunt zien of er al een instance van je programma draait. Of deze functionaliteit ook beschikbaar is in Java weet ik niet. Zowiezo is het weinig platform onafhankelijk volgens mij :)

Een lockfile is wat dat betreft beter, vergeet alleen niet dat als je prog crasht of wordt gekilled, je lockfile er nog staat.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Topicstarter
toppie.
Tis wat geklungel idd maar het werkt!
Pagina: 1