我们想使用 JBoss 7.1 和 JPA、Java EE 6 等现代技术创建一个全新的服务。
唉,我们有一个运行在 JBoss 4.2.2 上的遗留系统,它绝对不能移植到 JBoss 7 . 旧系统将不得不访问新系统,即通过 RMI 调用方法。
不幸的是,这不可能开箱即用:
- JBoss 7 不再支持通常在 JBoss 4 中用于 JNDI 查找的旧 JNP 协议。(见https://docs.jboss.org/author/display/AS71/JNDI+Reference)
- 我们不能只将新协议所需的新 JAR 添加到 default/lib,因为这会导致版本冲突(例如日志记录)并且根本不起作用。
我看到了两种可能的解决方案,它们既复杂又容易出错:
我们向 JBoss 4 添加了一个新的部署,它包含所有必要的库来访问 JBoss 7,并尝试在 jboss-app.xml 中使用 JBoss 的类加载器魔法来使其工作。
我们将 jnpserver.jar 中的旧 JNP 服务器改装为新的 JBoss 7 模块。
在这两种情况下,我们都必须通过转发所有请求的 JNP 将 Bridge/Adapter 对象绑定到 JNDI 上下文。
有没有人在弥合 JBoss 4 到 JBoss 7 之间的差距(实际上是一个蛇坑)或更好的主意方面有经验?
提前致谢。
马库斯