我们有很多Spring Web应用程序做出的WebLogic服务器上,是好奇,当战争也应当走在EAR时,他们应该只存在作为战争。偶尔,战争将需要访问的通用逻辑的JAR文件,但我不明白为什么这会需要进入一个EAR时,他们可能只是被打包成战争。

据我了解,如果几场战争是在EAR,你需要修改这些战争之一,你需要重新部署整个耳朵来更新服务器。这将导致所有战争的反弹。如果他们在EAR都没有,但是,我可以只升级一个WAR,这将是反弹的唯一的一个。

什么问题与具有100个不同的WAR文件独自站立和使用包装JAR和共享库(使用的WebLogic)?

感谢您的任何见解!

有帮助吗?

解决方案

如果你拥有的是WAR文件,那么EAR用途有限,只能作为你的战争中部署容器。您可以通过这种方式共享的战争之间的JAR节省一点膨胀,但这本身并不是巨大的吸引力。

然而

耳朵是必不可少的,具有完全的JavaEE / J2EE应用,它使用战争,EJB的,JMS,JCA资源,处理时等,这些类型的应用中的部件之间的相互作用和依赖性处于大大更容易管理EAR。

但是,如果你使用Weblogic的所有是一场战争的容器,那么你不妨使用如Tomcat或Jetty香草servlet容器,所有你走出的Weblogic的功能用途。

其他提示

我同意几乎所有评论skaffman的(典型的)点的

如果你使用Spring不使用EJB,你可以用一个WAR文件坚持,当然。无需EAR的,我可以看到。

不过,如果你的Spring应用程序使用消息驱动的POJO我能看到你还是在WebLogic部署WAR文件采取JMS的优势。

如果你已经有了EJB或JCA的EAR可能是必要的,但我不会说,JMS任务的一项EAR。我使用JMS和部署在WebLogic WAR文件和它的工作就好了。

如果你决定使用Tomcat和那里部署一个WAR,你仍然可以保持JMS功能,如果你使用ActiveMQ的。

在参数封装多的WAR到EAR如果碰上的是我的最后一个雇主那样的情况,那就是你有一个共同的组由多个战争中使用库JAR都可以引人注目,而该集合的大小JAR文件是相当大的。在我们的特定情况下,3个WAR的与包装成每WAR共同的JAR总规模共计124MB。通过在含有EAR定位JAR和配置每个WAR的类路径使用这些JAR文件,即包含在3场战争EAR的占用面积减小到40MB。我认为这是一个令人信服的理由。

具有多个共享库,而不应是令人信服的理由去一个EAR,作为JAR(或一组JAR文件)可随时被部署为“文库”在其上可以,因此,可以通过所有的战争共享的WebLogic 。 ISN”是正确?

没有什么实际上是错的只有战争部署,开发人员在获得工作的兴趣迅速满足越好。这意味着他们往往会采取技术债务,如果他们是在一个体面的球队,他们将清理债务。

然而,这提出了一个问题,当你将它添加到应用服务器避免耳朵的复杂性,并共用一个罐子,会发生什么?许多在战争中唯一一支比较常见,被卸载各种应用程序的复杂应用程序服务器。很简单,因为它是更容易实现,他们往往过度分配的调度。我完全不责怪他们这一点,但是现在我们有一个新的问题。一个标准的应用服务器无法使用,你必须做系统端自定义。有效的Web应用程序到处流血系统。谁维护应用程序服务器,现在还必须知道应用程序的具体细节......在企业环境中的人,这提出了一个非常明确的问题。

在开发人员就可以承担制度中的责任,但他们仍然需要满足最后期限。他们不可避免地流血遍布OS以及,突然开发商是唯一可能的管理员。如果管理员不知道什么应用程序正在使用系统的一面,他们可以很造成大问题。这些不清楚线总是结束在两个方向指向手指,未知系统状态,以及团队隔离。

他们是否有使用EAR呢?不,我是一个系统工程师,所以我总是说,他们可以部署像另一个商业应用自己的应用服务器。内部的RPM,如果部署一个WAR是像其他支持的应用服务器,那么他们得到的WAR部署流水线。如果没有,那么RPM尽在其中......一旦没有让球队于把自己的成本,那么的EAR成为一个伟大的想法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top