java - 多线程服务器数据库访问

标签 java database client-server

我正在用 Java 编写一个多线程服务器,它将访问数据库并返回有关客户端请求的数据库的信息。

我的主服务器类是作为静态类编写的,当客户端连接到它时,它基本上会生成一个线程。

我的问题是将所有数据库访问方法放在哪里?它们应该位于静态主服务器类中还是应该放在服务器线程代码中?

感谢所有答案/解释!

最佳答案

它应该保留在线程部分。因为如果在静态服务器类中使用访问方法,那么为数据库交互创建的 session 对象将变得线程不安全。您的数据库可能会留下不一致的地方。

数据库连接部分最好放在线程代码中。使用线程池是个好主意。您可以调整数据库密集型应用程序的性能。以下是来自 Oracle 的关于此问题的两个重要文档。

  1. http://docs.oracle.com/cd/E19159-01/819-3681/abehq/index.html
  2. http://docs.oracle.com/cd/E19159-01/819-3681/abehs/index.html

关于java - 多线程服务器数据库访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16826349/

相关文章:

c# - 哪个最好将行插入数据库?

c - 从服务器向客户端发送 UDP 消息

java - 文件管理客户端-服务器编程

java - 在 Java 17 switch-case 中使用 final 变量的好处

java - Kotlin - 类型与泛型返回类型和子类不匹配

Java多线程困惑

mysql - 存储有关 MySQL 数据库的元数据的简单方法

sql-server - Windows 应用程序 (WPF) 的独立数据库

java - Android 客户端 - Java 服务器 : how many clients can a server support at the same time?

java - 自动完成 Java EE Web 应用程序测试