java - Netbeans 远程项目 (EJB)

标签 java jakarta-ee netbeans ejb

这太令人困惑了,当我在 Netbeans 中创建一个新的 session Bean 时,它有一个用于创建本地接口(interface) 和一个远程 的选项>。但是,如果我选择 remote,则会出现一个包含现有 Java SEME 项目的列表。如果我选择其中任何一个(顺便说一句,我打算稍后将其中一个用作 bean 的 GUI 客户端)。它在我的 Enterprise Application 中创建 session bean,但在 Java SE 项目中添加远程类。我不明白这是怎么回事?

 My Netbeans Project Tree

enter image description here

enter image description here

最佳答案

如果您创建一个无状态 EJB sesion bean,它可以实现一个本地和/或一个远程接口(interface)。

在您的情况下,我建议使用远程 界面,因为您的一个客户端 将是远程的:命令行独立应用程序通常不在应用程序服务器主机(与通常驻留在同一 JVM 中的 servlet 形成对比)。

尝试以一次用户交互导致对 EJB 层的一次调用的方式设计远程接口(interface)。如果您的独立应用程序运行得足够快,那么 servlet 可能也足够快。如果反过来,您可能会发现适用于 servlet 的界面设计不适合远程访问。

localremote interface 之间存在一些语义和技术上的差异:使用第一个意味着接口(interface)被设计为只能从本地主机使用(这么多调用并不会真正影响性能)。本地 bean 只存在于一个 JVM 中。它会影响有关按值/引用调用的行为(请参阅 Why do we need separate Remote and Local interfaces for EJB 3.0 session beans)。


关于 NetBeans 屏幕截图:

  • (远程)客户端 在其范围内具有远程接口(interface)。没关系,因为它不需要看到任何其他东西。

  • 服务器/EJB 端,还有其他一切:EJB 和本地接口(interface)。唯一似乎缺少的是远程接口(interface),因为 EJB 也实现了它。它背后可能有一些 NetBeans IDE 魔法,但服务器端也需要远程接口(interface)。

关于java - Netbeans 远程项目 (EJB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18110228/

相关文章:

tomcat - 在 Netbeans 中自动部署 Liferay portlet

java - java如何识别数组的末尾在哪里?

c# - 连接到网络服务的 Android 应用程序 - 无法正常工作

java - java中如何导入文件

sockets - 关于 Java EE 的问题?

java - Netbeans EJB 无法添加依赖项

java - 将netbeans升级到7.2后出错

java - 用于访问列表的所有节点的循环条件

java - 有没有比 "pet store"更好的方法来比较 .Net 和 Java 在电子商务设置中的一般性能?

java - 如何在Java中获取负载均衡器后面的节点服务器IP