2012-11-17 14 views
6

Mi chiedevo come si sarebbe sincronizzato su un file mappato in memoria per usarlo in sicurezza come un tubo tra due JVM. Qualcuno l'ha già fatto prima con successo?Come comunicare tra due JVM utilizzando file mappati in memoria?

+1

Potrebbe aiutare a descrivere il caso d'uso in quanto sembra essere un requisito abbastanza insolito. – home

+0

Perché non usare solo un tubo e lasciare che il sistema operativo si occupi di esso? La sincronizzazione Inter-JVM è, credo fortemente, intrinsecamente non portatile. –

+0

Penso che una simile (se non duplicata) [discussione] (http://stackoverflow.com/questions/1491519/any-concept-of-shared-memory-in-java) si sia tenuta qui prima. – mindas

risposta

2

Ho una libreria che esegue questa operazione ma non utilizza la sincronizzazione. Scrive una volta alla memoria piuttosto che riutilizzare la memoria che semplifica il modello di memoria. Java Chronicle

+1

Come viene interrogato il consumatore per i nuovi dati nel file mappato in memoria? Cosa fai quando alla fine devi girare il file mappato in memoria? – JohnPristine

+0

I sondaggi del consumatore o le attese occupate. Non faccio rotolare il file mappato in memoria. Presumo che ci sia abbastanza spazio sul disco per durare un giorno o una settimana e l'applicazione verrà riavviata per eseguire il rollup dei file. Poche applicazioni richiedono più di un paio di TB al giorno di dati. –

Problemi correlati