我正在编写一个游戏服务器,需要连接到MySQL数据库服务器以检索游戏中的玩家或某些项目的信息(后者仅在服务器启动时进行)。我是否应该始终打开一个与数据库的连接,然后在使用前检查它是否出现故障/损坏,或者为每个请求建立一个连接。
当前系统(每个玩家加入的新连接)正在为登录过程添加明显的延迟。
是否可以在Java中始终打开MySQL连接?
答案 0 :(得分:2)
查看Java的ConnectionPool
类,打开一组持久连接。有关使用Java进行MySql连接池的文章,请参阅here。对于某些现有实现,您可以参考以下问题:Java JDBC connection pool library choice in 2011/2012?
这样可以节省一次又一次打开连接的开销,但是在需要时可以提供所需的连接数量。
答案 1 :(得分:1)
是否可以在Java中始终打开MySQL连接?
当然可以。你可以使你的DataProvider类的所有方法都是静态的(不一定同步导致java的mysql连接器是线程安全的)这样你就会有一个方法(例如:Initialization)来建立连接。之后,所有其他方法都将使用此连接。