旧的 EJB 客户端向后兼容性

问题描述

我正在将旧应用程序从 JBoss EAP 6.4 迁移到 JBoss EAP 7.3,但我有一个奇怪的行为。我在 EAP 7.3 上设置了远程连接器,并且部署了 2.1 和 3.x EJB 应用程序,但是如果我尝试从旧客户端连接,有一个非常旧的 jboss 客户端 jar (1.0.25.Final-redhat-1) 我有一些错误

3.x 应用程序运行没有问题,在 JBoss EAP 7.3 中我可以在呼叫到达时看到此日志

INFO [org.wildfly.naming] (default task-1) Wildfly Naming version 1.0.11.Final-redhat-00001

对于 2.1 EJB 应用程序(在旧的 JBoss EAP 6.4 上没有问题),我在服务器控制台上看到了这个不同的日志

INFO [org.jboss.ejb.client] (default task-2) JBoss EJB Client version 4.0.27.Final-redhat-00001

从客户端我收到这个错误

INFO: Cannot create a scoped EJB client context for JNDI naming context     org.jboss.ejb.client.naming.ejb.EjbNamingContext@abb9e4 since the current EJB client context selector can't handle scoped contexts
Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy1.create(UnkNown Source)
at com.test.ejbmigration.EjbRemoteClient.main(EjbRemoteClient.java:117)
Caused by: java.lang.classNotFoundException: org.jboss.ejb.client.EJBIdentifier

我发现了一个与此问题非常相似的旧问题

https://issues.redhat.com/browse/EJBCLIENT-51

但无论如何我认为情况不一样。使用带有新库的新客户端没有问题,但在我的场景中,我有可能在 EAP 7.3 中使用 EJB 2.x 应用程序,并且旧客户端以相同的方式调用它。

我想了解将旧的 EJB 2.x 应用程序迁移到 EAP 7.3 和来自旧客户端的远程调用是否会出现问题,或者是否可以在服务器上进行某些特定设置以接受调用来自老客户。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...