gpt4 book ai didi

jakarta-ee - Java EE——它只是废话还是真实的东西?

转载 作者:行者123 更新时间:2023-12-02 08:43:25 27 4
gpt4 key购买 nike

我熟悉 LAMP 堆栈,多年来已经成功部署了一些基于它的网络站点。我使用过从 Apache + modPerl 到 PHP、Ruby 和 Rails 的一切。通过充分利用缓存,我的 Rails 站点可以维持相当不错的负载,但我说的并不是大量负载。

我从来没有真正喜欢过 Java 作为一种语言,或者 XML,并且一直忽略整个 Java EE 方面的事情。对于那些在这两个领域都有过真实直接经验的人来说:Java EE 是否有一些超酷的东西是我所遗漏的,或者只是一堆空话?专有应用服务器的高价为何合理?

我不是在这里恶搞:我正在寻找 Java EE 真正解决了现代 LAMP 框架所缺少的东西的具体示例(如果存在这种差异的话)。 (现代 = Rails、Django 等)。或者,加入 LAMP 真正做得更好的那些事情(减少 XML 仰卧起坐)。

+++++ 更新于 2008 年 10 月 16 日

我很遗憾地报告,这里的大多数回复都没有帮助,只是属于两类之一:“它可以扩展,因为这里是大型网站的三个示例”和“它可以扩展,因为它实际上是比 LAMP 堆栈好得多”。

我读了很多书,得出的结论是 Java EE 只有一个真正好的技巧:事务(感谢 Will),至于其余的,你可以根据自己的优点成功或失败,本质上没有什么在让您创建一个可扩展且可靠的网站的环境中,Java EE 确实有很多陷阱,很容易失败(例如,很容易开始使用 session bean,而没有意识到您现在正在为相当多的费用付费)。一些 JMS 流量也许可以通过不同的设计来避免。)

有用的讨论

最佳答案

Java EE 与 LAMP 堆栈相比的关键区别可以归结为一个词。交易。

大多数较小的系统只是依赖于数据库提供的事务系统,对于许多应用程序来说,这(显然)是相当令人满意的。

但是每个 Java EE 服务器都包含一个分布式事务管理器。这使您可以跨不同的系统安全可靠地完成更复杂的事情。

最简单的示例是从数据库中获取一条记录,将其放入消息队列 (JMS),然后从数据库中删除该行的简单场景。这个简单的案例涉及两个独立的系统,并且无法在事务之外可靠地完成。例如,您可以将该行放入消息队列,但(由于系统故障)不能从数据库中删除该行。您可以看到,与 JMS 提供程序建立一个事务并与数据库建立一个单独的事务并不能真正解决问题,因为这些事务没有链接在一起。

显然,这个简单的场景可以解决、处理等等。不过,Java EE 的好处是,您不必处理这些类型的问题——容器可以处理它们.

而且,并不是每个问题都需要这种级别的事务处理。但对于那些这样做的人来说,这是无价的。一旦您习惯使用它们,您就会发现 Java EE 服务器的事务管理是一项巨大的 Assets 。

关于jakarta-ee - Java EE——它只是废话还是真实的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/169620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com