Java EE6:是否用@local、@remote注释接口或bean有关系吗?



我发现在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();
}

这是个人偏好的问题,但是请注意,在注释bean类时,必须按照Java EE教程的说明在注释@Remote(CarSalesRemote)上指定接口:

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

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

vs。

@Remote
public interface InterfaceName { ... }

最新更新