【问题标题】:how a java ee application is hosted on serversjava ee 应用程序如何托管在服务器上
【发布时间】:2016-02-25 22:39:12
【问题描述】:

我是一名 Java EE 开发人员(从未在企业工作过)。假设我们有一个 java ee 7 应用程序(使用 EJB JPA JSF..)并连接到 MySQL 数据库。现在处于开发模式,您只需在计算机上工作。我的问题是,假设您购买了 5 台服务器 (Windows)。并且您想在这些服务器上部署应用程序(连同数据库)。您是如何做到的,在 1 号服务器上如何使用 Java、glassfish(部署了 war/ear 文件)与其他服务器连接。

我的意思是如果服务器 n1 想从数据库中获取一些条目并且该条目存在于服务器 n3 中,这怎么可能????

今天有了“云”,你实际上并不知道它是如何工作的。我需要知道“经典”的工作方式。

【问题讨论】:

  • 不清楚你在问什么。在您的示例中,n1 上的 JDBC 驱动程序将与 n3 上的 DBMS 建立网络连接。这是你想知道的,还是还有更多?
  • 我的意思是 n1 首先是如何连接/了解其他服务器的。这就像两台电脑在运行,它们是如何连接的??如果我不能以明确的方式解释,我很抱歉
  • 您将数据服务器配置为侦听特定地址和端口(默认端口取决于数据库)。您的 JDBC 连接字符串指定服务器的地址和可选的端口号。这在JDBC Tutorial 中有介绍。油腻的细节由两个节点的 TCP 堆栈处理;解释将超出本网站的范围。
  • “数据服务器”所以在现实世界中,数据库存在于运行 JEE 应用程序的服务器之外的特定服务器上??
  • 您将应用服务器安装在特定机器上,并将 DBMS 安装在特定机器上。它们可能是同一台机器,也可能是不同的机器;在这两种情况下,网络层都会处理细节。

标签: java mysql jakarta-ee glassfish


【解决方案1】:

您将应用服务器安装在特定机器上,并将 DBMS 安装在特定机器上。它们可能是同一台机器,也可能是不同的机器;在这两种情况下,网络层都会处理细节。您将数据服务器配置为侦听特定地址和端口(默认端口取决于数据库)。您的 JDBC 连接字符串指定服务器的地址和可选的端口号。在您的示例中,n1 上的 JDBC 驱动程序将简单地与 n3 上的 DBMS 建立网络连接。

JDBC Tutorial 对此进行了介绍。油腻的细节由两个节点的 TCP 堆栈处理;解释将超出本网站的范围。

【讨论】:

    【解决方案2】:

    JEE 解决了您询问的大部分主题。你不应该称自己为 Java EE 开发人员,同时又问“什么是 Java EE”。

    此外,开发人员必须始终“知道东西是如何工作的”才能真正发挥作用,无论它在哪里运行,昨天、今天和明天可能都是如此。

    我认为你要么是个喷子,要么根本没有尝试理解/阅读 JEE(或基本上任何其他基于 Web/网络的分布式)技术。

    【讨论】:

    • 哦,真的,你甚至没有回答这个问题,所以我怀疑你知道。好吧,我使用 Eclipse 作为 IDE,Glassfish 作为服务器 JDK 8,我可以使用 Java EE 技术(JSF、CDI、EJB ..)但所有这些都在我的计算机上。我的问题是关于在一组服务器上部署它,它们如何连接和填充,所以你认为如果有人不知道如何在服务器上部署 war 文件,他就不知道 Java EE,......很好的逻辑,走的路跨度>
    • 你并不是真的在问问题。对于 JEE(针对分布式环境而不是本地开发),请查看 docs.oracle.com/javaee/6/tutorial/doc。并停止咆哮。
    最近更新 更多