Java 6 VM调用Java 4 VM

时间:2013-03-03 20:05:09

标签: java serialization jvm rmi java-6

我继承了一个尚未升级的非常旧的应用程序,因为它依赖于依赖于Java 4的第三方库。

摆脱这个第三方库不会在不久的将来发生,因为系统的关键部分依赖于它。

我希望将应用程序的Java版本更新,并考虑将依赖jar移动到自己的VM中,然后在Java 6/7 VM和Java 4 VM之间进行某种调用。

首先想到的是使用RMI。显而易见的第一个问题是使用不同Java版本时VM之间的兼容性。第三方lib生成字节流,因此返回的数据不会受序列化的影响。如果兼容性是个问题,传入的数据可以被操作为可以传递的内容。

这是正确的方法吗?

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

  1. 菲利普在你的评论中说,你可以做一个包装......在你的旧图书馆里你只需做一些小的调整
  2. 你可以使用RMI ......这是安全的!我测试了它,这是一个很好的方法......你不必改变旧的凌乱代码
  3. 您也可以使用网络服务,但我更喜欢RMI
  4. 如果你必须修改一些小问题并且你有太多问题需要更改JVM(因为有人修改了一些jdk库[发生在我身上]),只需将它留给java 4 ... :)

    我遇到的问题是我需要jdk 1.5中的库以便在jdk 1.4中使用,但我的解决方案是反编译jdk 1.5并使用jdk 1.4将其编译回来...因为旧的jdk有一些修改过的东西...... 我对反编译代码的问题是我找不到一个非常好的反编译器,它知道casting ...而且我有一些stackoverflow错误(但这些很容易修复)

    我希望我的回答可以帮助你