如何解决旧的 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 举报,一经查实,本站将立刻删除。