2011-03-11 33 views
1

我有一个Java Web应用程序使用休眠MYSQL数据库。我每天至少需要一个小时的数据维护,因此我需要关闭数据库并切换到备份数据库。
我没有看到一个优雅的方式来使用休眠从我的应用程序切换到另一个数据库。在那儿?
欢迎使用其他完全不同的数据库维护方法。休眠改变数据库动态维护

回答

1

当您使用Java WebApp时,我假设您使用容器(如Tomcat)或应用程序服务器(如JBoss)。在这两种情况下,您都应该使用容器通过JNDI使用托管连接。在这种情况下,您可以使用JMX(或管理控制台)更改实际的数据源,指向备份数据库,清理池并重新打开新的连接。完成后,只需执行相同的步骤,将数据源指向实际的数据库即可。

如果您没有使用容器管理的连接,那么您运气不好。由于Hibernate配置是静态的,因此您需要关闭应用程序,使用指向备份的persistence.xml/hibernate.cfg.xml部署其新版本,执行维护并部署“旧”版本当你完成。