希望有人可以帮助我解决启动后台线程以监视我的数据库连接的解决方案。我们的应用程序部署在 weblogic 92 中,我想知道是否有办法在应用程序运行时启动线程运行?谢谢
我正在尝试监视我的数据库,以确保在连接失败时可以切换数据库。出于这个原因,我正在寻找一种简单的解决方案来运行后台任务。
希望有人可以帮助我解决启动后台线程以监视我的数据库连接的解决方案。我们的应用程序部署在 weblogic 92 中,我想知道是否有办法在应用程序运行时启动线程运行?谢谢
我正在尝试监视我的数据库,以确保在连接失败时可以切换数据库。出于这个原因,我正在寻找一种简单的解决方案来运行后台任务。
即使在许多应用程序服务器中您可以,您也不应该在 Java EE 服务器中创建自己的线程,请参阅为什么不鼓励在 Java EE 容器中生成线程?一些背景和解决方法。
根据您要检查的条件和要采取的操作,您可以使用 WebLogic 诊断框架。您可以让它在检测到特定条件时发送 JMS 消息,然后您可以使用 MDB 做任何您想做的事情。
用您想要采取的条件和行动更新您的问题,我可以提供更多详细信息。
一般来说,不建议开始自己的线程。
更新: 根据您的描述,我猜您不使用 JNDI 或 WebLogic 数据源。如果您使用 WebLogic 中的数据源进行连接池会更好。WebLogic 可以检测到池中的连接有问题,并在将其提供给您的应用程序之前重新创建它。
如果您指的是不同的数据库,那么 WebLogic 有一个具有故障转移功能的多数据源选项。您应该做的是配置两个数据源 - 一个主数据源和一个辅助数据源 - 然后创建一个多数据源来包装它们。然后,您应该在应用程序中使用多数据源的 JNDI。显然,如果您这样做,您需要确保两个数据库实例之间的数据是一致的。
这不会使您的应用程序特定于 WebLogic,因为它只是对 JNDI 名称的更改。WebLogic 负责其余的工作。