将两个不同的Web应用程序JVM合并为一个

时间:2016-09-09 22:52:44

标签: java jvm

我正在寻找将两个不同的JVM合并为单个JVM的解决方案/建议。目前,我有两个不同的Web应用程序在两个不同的JVM上运行。假设web_application1有app1_Jvm& web_application2有app2_Jvm。

现在,我只需要为web_application1&和/或非使用一个JVM说 app_Jvm。 web_application2 即可。

谢谢!

2 个答案:

答案 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();
}