我正在運行兩個不同的java應用程序,並且都運行不同的JVM。 其實我需要在這些應用程序之間傳遞一些數據, 我已經在這裏使用共享文件的方法,但尋找更好的方法。多個Java應用程序可以在同一個VM下運行嗎?
所以我在想,如果我們能夠在同一個JVM下運行這些應用程序,那麼我們可以在這些應用程序之間傳遞數據。 我不知道如何在同一個JVM下運行的應用程序之間傳遞數據。
我正在運行兩個不同的java應用程序,並且都運行不同的JVM。 其實我需要在這些應用程序之間傳遞一些數據, 我已經在這裏使用共享文件的方法,但尋找更好的方法。多個Java應用程序可以在同一個VM下運行嗎?
所以我在想,如果我們能夠在同一個JVM下運行這些應用程序,那麼我們可以在這些應用程序之間傳遞數據。 我不知道如何在同一個JVM下運行的應用程序之間傳遞數據。
2應用程序之間的數據傳輸技術是Java中的RMI,我認爲你應該使用它。
以下是此介紹:Introduction to Java RMI
如果您的應用程序沒有固有的衝突(不兼容的JVM參數,衝突的單例等),它可能是可行的。您可能需要以某種方式修改main()方法;也許有你的2個應用程序運行在自己的線程。
然而,不知道額外的細節,很難判斷事情。
它們在使用應用程序服務器時有效。應用程序服務器通常在自己的線程中運行應用程序,而不是在每個應用程序的JVM上運行。 如果你想實現類似的解決方案,你可以編寫一個原始服務器,在特定的線程中調用你的應用程序的主要方法。
請注意,這也可能會讓您感到頭痛。例如,如果一個線程以System.exit(0)
退出應用程序,則所有線程都將被關閉。
對於您的任務,您無需在相同的JVM實例下運行應用程序。
您可以在不同的JVM之間傳遞數據。有很多可用的解決方案。
例如:
如果兩個應用程序被設計爲運行在他們自己的JVM中,將它們填充到一個單獨的JVM中會遇到很多種問題。什麼RMI或套接字? – Dmitri