微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

旧的 EJB 客户端向后兼容性

如何解决旧的 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.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?