【发布时间】:2019-07-29 05:36:48
【问题描述】:
据我所知,当不想为 EJB 定义任何接口时,可以使用 EJB 上的 @Localbean。然后我看到很多网站,包括 IBM1,都显示这样的内容:
@Stateless
@Local(LocalA.class)
@Remote(RemoteA.class)
@LocalBean
public class MeineEJB {
public void localA() {}
public void remoteA() {}}
如果是无接口EJB,那么@Local(LocalA.class) 在这段代码中的用途是什么? (我假设它是一个接口。) 而且,我不能同时理解@LocaBean 和@Remote。 @LocalBean 说它是一个本地 bean,但我们也将它定义为远程。那为什么注释标题首先是@LocalBean?
感谢大家阅读。
【问题讨论】:
-
stackoverflow.com/questions/10889563/… 很好地涵盖了这一点。是的,同时拥有本地、远程和 localbean 似乎有点毫无意义。将 remote 和 localbean 结合起来可能是有意义的。
-
感谢您@ewramner 的回复。在问这个问题之前我已经看到了那个链接,它没有回答我的问题。如果您能查看我发送的 IBM 链接或此链接中页面的末尾,我将不胜感激。看起来他们也定义了一个接口。 javacodegeeks.com/2013/03/…
-
您的两个链接都是示例,它们展示了 EJB 3.1 的可能性,而不是最佳实践。这些示例必须有效,但不必有意义。同一个 bean 使用本地无接口视图、使用 LocalA 的本地接口视图和使用 RemotA 的远程接口视图公开。有可能的。这很常见吗?应该没有吧,我没见过。暴露本地和远程是常见的,但不是全部三个。
-
谢谢@ewramner。现在这些例子对我来说很有意义。
标签: java jakarta-ee ejb