我继承了一个应用程序,该应用程序使用 Atomikos 在 Oracle 数据库之上的 Spring 中进行事务处理。在生产部署中,事务日志始终通过设置 com.atomikos.icatch.enable_logging=true 来启用,但事实是我找不到任何关于这些日志的确切用途的信息。
atomikos 网站声明“这不应该在生产中禁用,否则无法保证数据完整性”,我在该网站的 jta.properties 中发现了一条评论,说如果它是“重启或崩溃后有丢失数据的风险”禁用。
我们没有在我们的开发环境中启用此功能,并且能够正常使用该应用程序。我认为它们可能会在应用程序崩溃的情况下使用,但如果是这样,我不确定它们将如何使用。也许在下次启动时自动或以某种方式手动?在数据完整性方面,我知道 Oracle 可以实现它自己的数据恢复,但也许这些事务日志包含 Oracle 尚未看到的数据,例如,如果 Spring 崩溃。