- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
将应用程序部署为 EAR(带有 1 个 EJB 和 1 个 WAR 模块)与单独的模块有什么区别?我想使用 GlassFish 3 Web 配置文件,但它不支持 EAR 存档。我可以简单地将 EJB 和 WAR 用作单独的模块吗?还有其他选择吗?
最佳答案
3 种部署变体之间似乎有些混淆:
在第一种情况下,逻辑上您有一个应用程序,但一个应用程序分为两层。 WEB 模块与EJB 模块是隔离的,因为它可以使用EJB 模块中的类,但EJB 模块不能使用WEB 模块中的类。由于它是单个应用程序,因此可以使用对 EJB bean 的本地访问,并且 EJB bean 的注入(inject)可以按预期工作。
在第二种情况下(您似乎在问题中提到了这种情况),没有逻辑上的单个应用程序,而是两个独立的模块。它们确实在同一个 JVM 中运行,但 Java EE 官方不允许使用本地访问,而必须使用远程访问(尽管实际上本地访问通常仍然有效)。此外,在 web 模块中的 bean 中注入(inject) EJB bean 不能直接使用简单的 @EJB
注释,而是必须使用指定全局的 lookup
属性JNDI 名称。
最后,第三种情况(您似乎没有提到,但 'home' 提到了)与第一种情况有点相似,但在这种情况下没有分层和隔离。 EJB bean 可以直接从 Web 模块的其余部分访问所有类。
网络配置文件仅支持最后一种部署情况。不支持 EAR 和独立 EJB 部署。
关于java - EAR 与单独的 EJB + WAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6968587/
有人可以解释一下什么是 exploded EAR 吗?我检查了谷歌但找不到明确的答案。是不同的格式吗? 与非 exploded EAR 有什么区别? 最佳答案 压缩的 EAR 文件,扩展名为 .ear
我在单个域下有 2 个 .ear 文件(例如:abc.ear、def.ear)。他们之间如何沟通? 最佳答案 您可以使用Remote Method Invocation 。通常,应用程序的 Bean
我的 gradle 模块具有以下文件夹结构: src main application META-INF applica
基本上,我遇到一种情况,我必须从另一个 EAR 中的 WAR 访问一个 EAR 中 JAR 中声明的 EJB。两个 EAR 都部署到同一 WebLogic 托管服务器(同一域)。 Java 代码中的
假设我有一个标准的 EAR 文件(以及用于生成它的源文件),需要进行哪些额外的处理才能将其转换为 IBM WebSphere“增强型 EAR”? 问这个问题的另一种方法是问“增强型 EAR 和标准 E
我正在尝试使用 gradle build 构建 ear 并且 ear 构建良好。在我的项目中,ejb 模块正在创建多个自定义 jar 以及 ejb jar 。如何将它们添加到 ear 根目录而不是将它
你可以将一个耳朵文件放入另一个耳朵文件中吗?我尝试将 Ear 依赖项添加到 Ear 模块,指定 Artifact 类型为 ear 使用maven 3.3.3,但我得到 Failed to initia
我有两个.Ear 文件,即A.EAR 和B.EAR。第一个文件是我的应用程序(大约 1.5 MB),第二个文件包含所有需要的库,例如 Hibernate、log4j 等(大约 70 MB)。我怎样才能
我在尝试从另一个 EAR 调用部署在一个 EAR 中的远程服务时遇到问题。我没有为我的 EJB 指定任何名称,无论它们是 @Local 还是 @Remote,因此只需使用注释并通过 @EJB 注入(i
在 jenkins 上执行 mvn install 时出现此错误: [JENKINS] Archiving disabled Waiting for Jenkins to finish collect
我有两个 Spring 应用程序 A 和 B,每个应用程序都位于一个单独的 EAR 文件中。现在我想从 A 调用到 B,反之亦然,甚至可能是 A -> B -> A 或更多。 调用必须交易安全。 推荐
我的项目结构如下。服务器是 Glassfish 4。IDE - netbeans 7.4。项目 temp 被项目 a 使用。 EAR + lib/temp.jar + a.war Temp.jar
我需要在使用 maven-ear-plugin 生成的 EAR 中添加 2 个 XML 文件。 不幸的是,我还没有看到将任意文件添加到 EAR 的方法。 documentation该插件的内容为“EA
我们有无数次 war 的解决方案。 war 在它们都使用hibernate和spring的意义上是相似的。这意味着我们在每场 war 中都有许多相同的 jar 。这正在成为一个问题,因为耳朵的大小开始
Desperatley 尝试使用 Maven 3 中的 Maven EAR 插件版本 2.10.1 来创建包含某些模块的 EAR bundle 。generate-application-xml 目标
我有一个 EAR,在上下文“/”中部署为生产环境。 我想在服务器上部署应用程序的测试版本,同一个 Glassfish 实例。 是否可以在同一实例中的不同上下文和端口下部署应用程序? 如果是这样,除了更
Gradle 构建脚本会创建一个 EAR 文件,其中包含一些 jars 和一个 war。这一切之前都是在 Maven 中完成的,现在是迁移到 Gradle 的主题。 环境: Gradle 1.12 G
我用 Java EE 创建了一个应用程序现在想在互联网上发布它。出于这个原因,我需要 EAR文件。但我无法找到它。 我搜索了每个目录,但我看不到它。 EAR在哪里文件留在文件目录? 我用 Eclips
我正在使用Gradle,并且想要构建一个EAR,其中包括在存储库中找到的预构建的WAR文件。我有这样的事情: dependencies { earlib 'PathName:NameOfPre
我有一个java Ear存档,其中包含“lib”文件夹,在application.xml中声明为库目录。 我的问题是某些模块不需要 lib 文件夹中的某些 jar。此外,我的模块之一(.war 存档)
我是一名优秀的程序员,十分优秀!