我正在运行两个不同的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