我可以在远程/本地接口中使用继承吗?(EJB3)

4 java java-ee ejb-3.0

一个例子:

@Remote
public interface SomeComponentRemote{

    public Something processStuff();

}

//--

@Local
public interface SomeComponentLocal extends SomeComponentRemote{

}
Run Code Online (Sandbox Code Playgroud)

这是允许的吗?我可以定期这样做吗?

Myk*_*yev 5

不允许使用您的方式,因为您无法根据规范使用@Local和@Remote注释来标记您的界面.从代码阅读的角度来看,这不是一个好主意.

推荐的解决方案是

public interface SomeComponent {
    public Something processStuff();
}

@Local
public interface SomeComponentLocal extends SomeComponent {
}

@Remote
public interface SomeComponentRemote extends SomeComponent {
}
Run Code Online (Sandbox Code Playgroud)

  • 嗯,你真的确定这违反了规范吗?我不这么认为:注释不是继承的 - 所以你有一个本地和一个远程接口.这在我眼里是完全有效的. (3认同)