Naar aanleiding van [rml][ java] Directory Listener?[/rml] vroeg ik me af of je uberhaupt events kan afvangen met betrekking tot het filesystem. Dus voornamelijk het toevoegen en verwijderen van een bestand. Kan dat onder een unisecs/linux?
Dat zou dan in de kernel moeten zitten, en voor zover ik weet is dat bij Linux nog niet het geval.
Als je het leuk vindt, kun je natuurlijk altijd een modificatie van een Linux kernel bouwen, waarin een filesystem create aanroep leidt tot een aanroep van een hook methode ofzo
Bij mijn weten bestaat zo iets nog niet, in ieder geval niet in de meest populaire Linux en BSD distributies. Als je praat over "unices" dan moet je meteen naar andere smaakjes van Unix als Solaris, HP UX, IRIX etc. gaan kijken, en daar durf ik geen uitspraken over te doen
Edit: Ik bedenk me net dat de spotlight technologie die Apple in haar Mac OS X besturingssysteem in heeft gebouwd wel met zo'n dergelijk systeem moet kijken. Misschien kun je eens kijken of dat gedeelte van Darwin perongeluk open source is. (Darwin is geloof ik Mach, dus zo zeker is dat niet).
Als je het leuk vindt, kun je natuurlijk altijd een modificatie van een Linux kernel bouwen, waarin een filesystem create aanroep leidt tot een aanroep van een hook methode ofzo
Bij mijn weten bestaat zo iets nog niet, in ieder geval niet in de meest populaire Linux en BSD distributies. Als je praat over "unices" dan moet je meteen naar andere smaakjes van Unix als Solaris, HP UX, IRIX etc. gaan kijken, en daar durf ik geen uitspraken over te doen
Edit: Ik bedenk me net dat de spotlight technologie die Apple in haar Mac OS X besturingssysteem in heeft gebouwd wel met zo'n dergelijk systeem moet kijken. Misschien kun je eens kijken of dat gedeelte van Darwin perongeluk open source is. (Darwin is geloof ik Mach, dus zo zeker is dat niet).
[ Voor 22% gewijzigd door dawuss op 28-02-2005 18:15 ]
micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©
Hmm, nou bedankt iig. In de kernel heeft voor mij geen zin, het moet toch wel crossplatform werken. Nou dan maar iets anders verzinnen.
Onder irix heb je de file alteration monitor daemon (fam/famd), die bij mijn weten ook naar linux en misschien een of meer van de vrije BSD's is geport, misschien heb je daar wat aan.
(ik verander je topictitel even trouwens, het duurde nogal voor ik uberhaupt doorhad wat unisecs was [norml]:)[/]
(ik verander je topictitel even trouwens, het duurde nogal voor ik uberhaupt doorhad wat unisecs was [norml]:)[/]
Doh, van famd had ik ook wel eens gehoord, dus dat had ik kunnen weten 
Een echte cross-platform implementatie ga je sowieso niet vinden: De Java VM heeft nu eenmaal geen ondersteuning voor deze toepassing, omdat niet alle systemen waar die machine op kan draaien dit kunnen verzorgen (denk aan Windows met FAT32).
Ik ben bang dat je dit inderdaad zult moeten implementeren voor alle platformen die je wilt ondersteunen
Een echte cross-platform implementatie ga je sowieso niet vinden: De Java VM heeft nu eenmaal geen ondersteuning voor deze toepassing, omdat niet alle systemen waar die machine op kan draaien dit kunnen verzorgen (denk aan Windows met FAT32).
Ik ben bang dat je dit inderdaad zult moeten implementeren voor alle platformen die je wilt ondersteunen
micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©
Juist windows lijkt het enige OS te zijn wat wel heeft nagedacht over deze in mijn ogen onmisbare functionaliteitdawuss schreef op maandag 28 februari 2005 @ 22:31:
De Java VM heeft nu eenmaal geen ondersteuning voor deze toepassing, omdat niet alle systemen waar die machine op kan draaien dit kunnen verzorgen (denk aan Windows met FAT32).
Ik heb nog ff gezocht: Watching filesystem events with inotify
Ik weet niet of het toereikend is maar het lijkt mij wel interessant
En hier nog wat info: inotify for Linux
Inotify is dus de opvolger van dnotify en is nog niet in de stable versies van de Linux kernel opgenomen (tot 2.6.8-r10)
En nou stop ik met zoeken ...
Ik weet niet of het toereikend is maar het lijkt mij wel interessant
En hier nog wat info: inotify for Linux
Inotify is dus de opvolger van dnotify en is nog niet in de stable versies van de Linux kernel opgenomen (tot 2.6.8-r10)
En nou stop ik met zoeken ...
[ Voor 56% gewijzigd door BoAC op 01-03-2005 10:54 ]
FreeBSD heeft kevent, wat oa filesystem events kan monitoren en op basis van changes in je filesystem een event in een userland app kan triggeren.
Wordt ook veel gebruikt voor networking sockets omdat het zo lekker snel is
Wordt ook veel gebruikt voor networking sockets omdat het zo lekker snel is
@TS: Je zult dus wil je met events werken een wrapper moeten maken voor elk OS waar het op moet draaien of gewoon gaan pollen wat wel 'bijna' Platform onafhankelijk kan 
Is daarvoor dan een Java implementatie te vinden?Verwijderd schreef op maandag 28 februari 2005 @ 22:43:
[...]
Juist windows lijkt het enige OS te zijn wat wel heeft nagedacht over deze in mijn ogen onmisbare functionaliteit
[ Voor 48% gewijzigd door BoAC op 01-03-2005 11:23 ]
Ja ik zit nog te twijfelen tussen pollen of een repository middels EJB's. Voordeel van pollen is dat ik inderdaad met elk stukje software een bepaalde directory kan beheren zonder dat het ergens in de soep loopt, maar kost wel veel meer processor kracht. Met ejb's laat ik alle io daar door lopen en simuleer ik dus de events die ik wil hebben. Nadeel is dat ik vanuit bijvoorbeeld een ftp programma lastiger kan toevoegen aan de repository (waar ik natuurlijk een java ftp server voor zou kunnen ombouwen).BoAC schreef op dinsdag 01 maart 2005 @ 11:22:
@TS: Je zult dus wil je met events werken een wrapper moeten maken voor elk OS waar het op moet draaien of gewoon gaan pollen wat wel 'bijna' Platform onafhankelijk kan
Ja, een class com.jniwrapper.win32.io.FileSystemWatcher genaamd.BoAC schreef op dinsdag 01 maart 2005 @ 11:22:
Is daarvoor dan een Java implementatie te vinden?
[ Voor 5% gewijzigd door Verwijderd op 01-03-2005 13:38 . Reden: class naam opgezocht ]
Pagina: 1