2012-11-17 25 views
6

İki JVM arasında bir boru olarak güvenli bir şekilde kullanmak için bellek eşlemeli bir dosya üzerinde nasıl eşitleneceğini merak ediyordum. Bunu daha önce başarı ile yaptı mı?Bellek eşlemeli dosyaları kullanarak iki JVM arasında nasıl iletişim kurabilirim?

+1

Kullanım durumunuzu açıklamaya yardımcı olabilir, çünkü bu oldukça nadir görülen bir gereksinim gibi görünüyor. – home

+0

Neden sadece bir boru kullanmıyoruz ve işletim sisteminin buna dikkat etmesine izin vermiyorsunuz? Inter-JVM senkronizasyonu, doğal olarak taşınabilir olmayan bir şekilde şüpheliyim. –

+0

Bence benzer bir (çoğul değilse) [tartışma] (http://stackoverflow.com/questions/1491519/any-concept-of-shared-memory-in-java) daha önce burada yapıldı. – mindas

cevap

2

Bunu yapan bir kütüphanem var ancak senkronizasyonu kullanmıyor. Bellek modelini basitleştiren belleği yeniden kullanmak yerine bir kere belleğe yazar. Java Chronicle

+1

Tüketici, bellek eşlemeli dosyada yeni veriler için nasıl anket yapar? Sonunda bellek eşlemeli dosyayı yuvarlamanız gerektiğinde ne yaparsınız? – JohnPristine

+0

Tüketici anketleri veya meşgul bekler. Bellek eşlemeli dosyayı açmam. Bir gün veya bir hafta sürecek kadar disk alanı olduğunu ve dosyaların dosyaları döndürmek için yeniden başlatılacağını varsayalım. Birkaç uygulama, birkaç günlük veriden daha fazlasına ihtiyaç duyar. –