【发布时间】:2016-07-07 17:14:53
【问题描述】:
今天我用 EJB 做了一些实验。
JavaEE 6
Websphere 8.0.x
我有一个定义一些远程方法的接口:
interface Calculator{
int add(int x, int y);
int mul(itn x, int y);
}
此接口由 EJB 实现。
此外,我还有另一个 EJB 调用 Calculator-EJB 从另一个应用程序(耳朵)。所以我总共部署了 两个ear文件,一切正常。
现在我更改了计算器界面,我放弃了 mul 方法, 但是在实现 EJB 类中仍然实现了 mul 方法, 我刚刚删除了@override 注释。 现在我用 EJB 重新部署了耳朵,实现了改变的接口。
令我惊讶的是,另一个耳朵应用程序仍然能够调用 mul 方法。
这是 EJB 标准的一部分吗?
之后我将 Calculator 接口重命名为 Calculator2 并重新部署了实现这个新接口的 EJB。
另一个耳朵应用程序,只有旧的计算器 接口,仍然可以调用新的方法 部署的 EJB 只实现了新的 Calculator2 接口。
同样的问题:这是 EJB 标准的一部分吗?
【问题讨论】:
标签: jakarta-ee interface ejb