今天我用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 来自另一个应用程序(耳朵)。所以我总共部署了 两个耳朵文件,一切正常。
现在我更改了Calculator接口,我删除了mul方法, 但是在实现EJB类中,仍然实现了mul方法, 我刚刚删除了@override注释。 现在,我使用实现更改接口的EJB重新部署了耳朵。
令我惊讶的是,另一个耳朵应用程序仍然能够调用 多元方法。
这是EJB标准的一部分吗?
之后我将Calculator接口重命名为Calculator2 并重新部署实现这个新接口的EJB。
另一个耳朵应用程序,只有旧计算器 接口,仍然可以调用新的方法 部署了EJB,它只实现了新的Calculator2接口。
同样的问题:这是EJB标准的一部分吗?
答案 0 :(得分:1)
这应该是EJB3.1规范的“无接口视图”。
可以在没有接口的情况下访问EJB公开的所有方法。 但是我不确定你是否可以将NoInterfaceView与接口并行,这可能不符合规范。