我有一个基于Web的应用程序,每三秒钟我连接一个数据库并从gps设备查询数据。
不幸的是,当应用程序工作超过几个小时没有我得到异常时:“严重:没有为jdbc发现合适的驱动程序......”。应用程序仍然可以工作并连接到数据库,但每次我请求新数据时都会打印消息。
为什么我会得到这个例外?为什么它只在经过几个小时的工作后出现?
任何解决方案?
答案 0 :(得分:2)
也许您已经放置了一个格式错误的数据库连接URL,而DriverManager
无法找到合适的驱动程序。
例如,假设您需要一个像“jdbc:mysql:// my_database_host / test”这样的URI,并且代码中的某处有一个“jdbc:MySql:// my_database_host / test”,它会失败。
但是,我认为真正的问题在于:
我有一个基于网络的应用程序,每三秒我连接一个 数据库
我建议您考虑将此设计更改为托管连接池,无论是您的应用程序服务器本机,还是您最喜欢的实现(dbcp,c3p0等)。通过这种方式,您的应用程序将获得性能(您将使用预先打开的一组连接,因此您可以节省打开它们的时间和麻烦)和可伸缩性(您的应用程序是否经常为每个请求打开连接?您是否考虑过后果?在频繁请求的生产环境中这样做?更好的是限制打开连接)