我正在查看一些 Jave EE 6 代码并对它的正确性表示怀疑:
@WebServlet
public class FooServlet {
@EJB
private transient BarRemoteInterface bar;
}
@Remote
public interface BarRemoteInterface {
}
@Stateless
public class BarBean implements BarRemoteInterface {
}
我想知道
transient
关键字是否没有任何意义,因为注入的代理不会被序列化。(或者会,但没有效果?)我认为如果我们不注入远程接口会更有效,因为它使用按复制传递参数传递。相反,我们宁愿注入 EJB
@EJB BarBean
以便使用它自动生成的(?)本地接口。我对吗?在这种情况下,甚至
@EJB
可以替换@Inject
为更通用的
如果他们是正确的,你能评论我的想法吗?