我正在寻找将两个不同的JVM合并为单个JVM的解决方案/建议。目前,我有两个不同的Web应用程序在两个不同的JVM上运行。假设web_application1有app1_Jvm& web_application2有app2_Jvm。
现在,我只需要为web_application1&和/或非使用一个JVM说 app_Jvm。 web_application2 即可。
谢谢!
答案 0 :(得分:2)
假设两个应用程序都在自己的.war或.ear文件或类似名称不同的文件中,它们可以在部署目录中彼此相邻放置,应用程序服务器将展开并启动它们,每个在自己的应用程序根目录下,在同一个JVM中。这是Web应用程序服务器的标准行为。
答案 1 :(得分:-1)
我相信如果你让每个主应用程序类都实现Runnable,你可以在一个main方法中运行。
查看Threads,它提供了完美的示例。剩下要做的只是在你的主要部分,你只需创建包含应用程序对象的两个线程,并为每个线程调用start()方法,然后每个线程调用每个应用程序对象内的run()方法。
class App1 implements Runnable {
App1() {
//your constructor
}
//all other methods ...
public void run() {
// this will be the main method for App1
. . .
}
}
class App2 implements Runnable {
App2() {
//your constructor
}
//all other methods ...
public void run() {
// this will be the main method for App2
. . .
}
}
//your new main method
public static void main(String[] args)
{
//create the first application object
App1 application1 = new App1();
//create the second application object
App2 application2 = new App2();
//call their main methods run()
new Thread(application1).start();
new Thread(application2).start();
}