我正在使用ActiveJDBC访问MariaDB数据库的Spring Boot Java应用程序。
如果在启动时应用程序在数据库服务器之前启动,则如果数据库服务器崩溃并重新启动,则应用程序不会重新建立与数据库的连接。
ActiveJDBC是1.4.13版本,如果可能的话我不想升级它,以避免可能的破坏。 db参数使用database.properties
文件进行配置,通常使用模式为:
try {
Base.open();
...
} finally {
Base.close();
}
有没有办法绕过这个问题,而无需监控和重新启动应用程序?也许使用连接池?如果是这种情况,是否有任何文档或示例?
答案 0 :(得分:0)
如果在database.properties
文件中使用直接JDBC连接,则每次执行Base.open()
时都会打开一个新连接。这意味着任何破坏的旧连接都不再相关。如果您使用JDNI池,例如:
production.jndi=java:comp/env/jdbc/acme
然后你想配置你的容器'池,以确保池中提供的每个连接在池提供与您的应用程序的连接之前有效。由容器/池的实现和文档决定如何做到这一点。
无论如何,我认为你不会有问题。