Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EJB实际上是如何工作的_Java_Jakarta Ee_Jboss_Ejb - Fatal编程技术网

Java EJB实际上是如何工作的

Java EJB实际上是如何工作的,java,jakarta-ee,jboss,ejb,Java,Jakarta Ee,Jboss,Ejb,我刚刚进入EJB和wildfly世界,从一个包含在服务器端运行的远程接口和远程实现(EJB容器)开始,EJB客户机正试图在服务器端调用这些功能 然而,让我困惑的是EJB的工作方式。为了运行该程序,我们必须导出服务器端运行的EJB容器的jar文件,其中包括一些远程接口和实现,然后将该jar文件导入客户端程序,以便该客户端可以在实现中使用接口或方法。所以我的问题是,如果我们直接使用这些jar文件来实现客户机,那么为什么我们仍然需要在服务器端运行这个EJB容器呢?因为,例如,如果我在服务器端更改接口或

我刚刚进入EJB和wildfly世界,从一个包含在服务器端运行的远程接口和远程实现(EJB容器)开始,EJB客户机正试图在服务器端调用这些功能


然而,让我困惑的是EJB的工作方式。为了运行该程序,我们必须导出服务器端运行的EJB容器的jar文件,其中包括一些远程接口和实现,然后将该jar文件导入客户端程序,以便该客户端可以在实现中使用接口或方法。所以我的问题是,如果我们直接使用这些jar文件来实现客户机,那么为什么我们仍然需要在服务器端运行这个EJB容器呢?因为,例如,如果我在服务器端更改接口或实现,那么我仍然必须在客户端重新更改jar文件,以便继续使用此实现。我说得对吗?很抱歉,我对这个问题有点困惑。

我不会从远程EJB开始-它们现在很少使用请参阅下面的链接:它可能会有帮助:-------您需要一个Jar,因为您没有直接调用EJB,但应用服务器会为您构建一个代理以供使用。您将只包含
@Local
@Remote
接口的jar分发给客户端。这是一个关键点,应用服务器为您提供了一个代理,它正在管理生命周期、可伸缩性、事务和所有其他方面。。。。显然,如果更改方法签名,就必须重新分发jar。