java - Java EE 中应用服务器和数据库服务器之间的通信

标签 java database jakarta-ee

如果 Java EE 中的应用程序服务器和数据库服务器都托管在不同的机器上,使用什么协议(protocol)进行通信?

我的意思是,如果我使用 JDBC,那么我可以只在配置文件(连接字符串)中指定数据库服务器的 IP 并建立连接?

如果它确实建立起来,那么使用什么协议(protocol)在两台服务器之间进行通信? 这个协议(protocol)数据库依赖吗?

或者我应该在数据库服务器上有网络服务来与应用服务器通信吗?

最佳答案

与数据库通信的协议(protocol)依赖于数据库。 JDBC 驱动程序负责为您与数据库进行通信。

数据库的 URL 也依赖于数据库,包含驱动程序连接到数据库服务器所需的信息。

在数据库服务器上使用 Web 服务绝对不是一个好主意:

  • 它将禁止在 Java EE 应用程序中使用事务
  • 如果不将结果全部加载到内存中,您将无法滚动到结果
  • 会慢得可怕
  • 数据库服务器上的 Web 服务仍将使用与数据库服务器相同的 native 协议(protocol)进行通信。

阅读JDBC tutorial获取更多信息。

关于java - Java EE 中应用服务器和数据库服务器之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9452646/

相关文章:

java - Mockito 的@After 和 verifyNoMoreInteractions

MySQL 错误 1452 (23000) : Cannot add or update a child row

java - 带有 jdbc 领域的可移植安全角色映射

java - 设置 session 响应

java - hibernate单独的jar lib

java - 如何按日期对对象列表进行排序(java 集合,List<Object>)

java - Zhang-Suen 细化算法实现未按预期工作

c# - 如何使用 EF Core 添加新表

mysql - SQL:如何用一个id引用多个数据集?

html - 使用 JSF 以编程方式创建 HTML 表单字段集标记