相同或不同 JVM 中的无界面视图和 @Local-ejbs's/server?
No-interface-view and @Local-ejbs in same or different JVM's/server?
我对 Ejb-Beans 中无接口视图和 @Local
视图之间的区别有点困惑。
使用无接口视图声明的 Bean 可以被同一个客户端访问 JavaEE 应用程序和实现 @Local
接口的 bean 可以被同一个客户端访问JVM 但可能在单独的 JavaEE 应用程序中,对吗?
这里JVM的具体含义是什么?具有 @Local
接口的 bean 在同一台服务器上,因为通常每个服务器有一个 Java 虚拟机?
我们还可以说,每个服务器有一个 JVM,每个从其 main 方法执行的 java 应用程序都独立使用 JVM 的一个实例吗?
抱歉新手问题。
是的,通常您会有一个 JVM 运行将一个应用程序服务器与一个或多个应用程序连接在一起,并且 @Local
接口将允许您的应用程序相互使用 EJBs
.
运行 Java 应用程序通过调用它们的 main()
方法会为 运行 该应用程序创建一个新的 JVM,但我不知道这必须做什么与 EJBs
.
no-interface 视图 (@LocalBean
) 和 @Local
都是本地界面,几乎完全相同。唯一的区别是 @Local
使用单独的接口作为代理,而 @LocalBean
使用 bean class 本身作为代理(EJB 容器生成一个 subclass 来覆盖所有业务方法)。
EJB 规范声明 EJB 容器只需要支持同一应用程序中的本地接口。应用程序服务器可以实现 cross-application same-JVM 本地接口(@LocalBean
或 @Local
),但它们不是必须这样做。
如果您不熟悉术语,最简单的做法是将 "the JVM" 简化为 "the java
process"。所以,是的,java -cp ...
和 java -jar ...
启动包含单个 JVM 的单个 Java 进程,应用程序服务器进程通常是使用 java
启动的单个进程,因此它包含也只有一个 JVM。是的,您也可以说 @Local
EJB 只能从相同的 Java 进程或相同的 JVM(或者通常甚至相同的 Java EE 应用程序调用,因为大多数应用程序都是可移植的需要 cross-application 个本地 EJB)。
我对 Ejb-Beans 中无接口视图和 @Local
视图之间的区别有点困惑。
使用无接口视图声明的 Bean 可以被同一个客户端访问 JavaEE 应用程序和实现 @Local
接口的 bean 可以被同一个客户端访问JVM 但可能在单独的 JavaEE 应用程序中,对吗?
这里JVM的具体含义是什么?具有 @Local
接口的 bean 在同一台服务器上,因为通常每个服务器有一个 Java 虚拟机?
我们还可以说,每个服务器有一个 JVM,每个从其 main 方法执行的 java 应用程序都独立使用 JVM 的一个实例吗?
抱歉新手问题。
是的,通常您会有一个 JVM 运行将一个应用程序服务器与一个或多个应用程序连接在一起,并且 @Local
接口将允许您的应用程序相互使用 EJBs
.
运行 Java 应用程序通过调用它们的 main()
方法会为 运行 该应用程序创建一个新的 JVM,但我不知道这必须做什么与 EJBs
.
no-interface 视图 (@LocalBean
) 和 @Local
都是本地界面,几乎完全相同。唯一的区别是 @Local
使用单独的接口作为代理,而 @LocalBean
使用 bean class 本身作为代理(EJB 容器生成一个 subclass 来覆盖所有业务方法)。
EJB 规范声明 EJB 容器只需要支持同一应用程序中的本地接口。应用程序服务器可以实现 cross-application same-JVM 本地接口(@LocalBean
或 @Local
),但它们不是必须这样做。
如果您不熟悉术语,最简单的做法是将 "the JVM" 简化为 "the java
process"。所以,是的,java -cp ...
和 java -jar ...
启动包含单个 JVM 的单个 Java 进程,应用程序服务器进程通常是使用 java
启动的单个进程,因此它包含也只有一个 JVM。是的,您也可以说 @Local
EJB 只能从相同的 Java 进程或相同的 JVM(或者通常甚至相同的 Java EE 应用程序调用,因为大多数应用程序都是可移植的需要 cross-application 个本地 EJB)。