我正在运行两个不同的Java应用程序,它们都运行不同的JVM。 实际上我需要在这些应用程序之间传递一些数据, 我已经在这里使用共享文件方法,但寻找更好的方法。
所以我想的是,如果我们能够以某种方式在同一个JVM下运行这些应用程序,那么我们可以在这些应用程序之间传递数据。 我不知道如何在同一JVM下运行的应用程序之间传递数据。
答案 0 :(得分:3)
两个应用程序之间的数据传输技术是Java中的RMI,我认为你应该使用它。
以下是对此的介绍:Introduction to Java RMI
答案 1 :(得分:2)
您可以通过Socket
实现您的应用之间的联系。
答案 2 :(得分:1)
当您使用应用程序服务器时,它们会有效地执行。应用程序服务器通常在自己的线程中运行应用程序,而不是在每个应用程序的JVM上运行。 如果要实现类似的解决方案,可以编写一个原始服务器,在特定的线程中调用应用程序的main方法。
请注意,这也可能会给你一些额外的麻烦。例如,如果一个线程以System.exit(0)
退出应用程序,则所有线程都将被关闭。
答案 3 :(得分:0)
如果您的应用没有固有冲突(不兼容的JVM参数,冲突的单例等),那么它可能是可行的。您可能需要以某种方式修改main()方法;也许让你的2个应用程序在自己的主题中运行。
然而,在不了解其他细节的情况下,很难判断事情。
答案 4 :(得分:0)
对于您的任务,您无需在相同的JVM实例下运行应用程序。
您可以在不同的JVM之间传递数据。有很多可用的解决方案。
例如: