2010-09-18 13 views
6

Dzisiaj zadałem mi to pytanie dotyczące udostępniania danych z wątku t1, który działa w jednym jvm 1 do wątku 2 działającego w innym jvm 2, i podobnie do innego wątku t3 w jvm 3. po kilku pracach domowych powiedział mi następującą odpowiedź. Poinformuj mnie, jeśli masz lepszą i skuteczniejszą odpowiedź.Udostępnianie danych między JVM

  1. serializacji
  2. java nio Stream
-------------             ----------------- 
jvm 1     PASS THE DATA TO ANOTHER THREAD IN A   JVM2 

         NOTHER JVM 
         ===============>>>>> 
tHREAD T1               tHREAD T2 
--------------             ------------------- 

Odpowiedz

11

myślę, że to zależy od kontekstu aplikacji. Masz wiele opcji:

  • Serializacja może działać, ale najprawdopodobniej pęknie, jeśli zmieni się kod. Może to doprowadzić do utraty danych.
  • Aby udostępnić dane między wieloma aplikacjami, można użyć bazy danych. Jest to jedna z najlepszych opcji w mojej głowie, ponieważ twoje dane będą uporządkowane.
  • Można również użyć sformatowanego pliku tekstowego. Wystarczy wybrać sposób formatowania danych, umieścić je w pliku, a następnie odczytać plik z innej aplikacji.
  • Jeśli JVM znajdują się na różnych komputerach, możesz spróbować użyć gniazd. W ten sposób Twoje aplikacje będą mogły komunikować się za pośrednictwem sieci.
  • Jeśli możesz mieć serwer działający jak przekaźnik dla twoich obiektów, możesz również użyć serwera wiadomości (myślę o JMS).
+0

dzięki vivien za odpowiedź –

Powiązane problemy