4

我看到在 EJB 3 中希望同时拥有本地和远程接口。然后创建一个实现这些接口的 bean。@remote 注释的位置是否重要——无论是在接口本身(第一个示例)还是在实现接口的 bean 上(第二个示例)?这不仅仅是风格的问题,不是吗?有人可以解释更深层次的含义吗?

@Remote
public interface CarSalesRemote {
    void getSales();
}

@Stateless
public class CarSales implements CarSalesRemote {

    @Override
    public void getsales() {}
}

相对

public interface CarSalesRemote {
     void getSales();
}

@Stateless
@Remote
public class CarSales implements CarSalesRemote {

    @Override
    public void getsales();
}
4

1 回答 1

1

这是一个偏好问题,但是请注意,在注释 bean 类时,您必须在注释@Remote(CarSalesRemote)上指定接口,如 Java EE 教程所述:

bean 类可以实现多个接口。如果 bean 类实现了多个接口,则业务接口必须显式注释 @Local 或 @Remote,或者必须通过使用 @Local 或 @Remote 装饰 bean 类来指定业务接口。

@Remote(InterfaceName.class)
public class BeanName implements InterfaceName { ... }

对比

@Remote
public interface InterfaceName { ... }
于 2013-05-31T06:45:22.773 回答