更新与数据库同步的应用程序状态(java缓存)

更新与数据库同步的应用程序状态(java缓存),java,oracle,caching,Java,Oracle,Caching,我有一个缓存应用程序,它定期更新内部状态(哈希表),从oracle db中进行一些选择。有一批定期(1分钟)更新缓存: 批读取数据,其中D\u UPDATE>lastRunningBatch=lastUpdate(D\u UPDATE行更新的最后日期) 批量保存lastUpdate 批更新缓存 1分钟后,批次再次开始 问题是: 客户端使用D_UPDATE=SYSTIMESTAMP更新row100,但不提交 批处理读取数据,其中D\u UPDATE>lastRunningBatch 客户提交 批

我有一个缓存应用程序,它定期更新内部状态(哈希表),从oracle db中进行一些选择。有一批定期(1分钟)更新缓存:

  • 批读取数据,其中
    D\u UPDATE>lastRunningBatch=lastUpdate
    (D\u UPDATE行更新的最后日期)
  • 批量保存
    lastUpdate
  • 批更新缓存
  • 1分钟后,批次再次开始
  • 问题是:

  • 客户端使用
    D_UPDATE=SYSTIMESTAMP
    更新
    row100
    ,但不提交
  • 批处理读取数据,其中
    D\u UPDATE>lastRunningBatch
  • 客户提交
  • 批处理已丢失
    行100


    我不能使用一致性、JCS、EhCache、JBOSS缓存,…

    您是否尝试过
    ORA_ROWSCN

    ORA_ROWSCN
    返回该行最近更改的保守上限系统更改编号(SCN)


    你试过了吗

    ORA_ROWSCN
    返回该行最近更改的保守上限系统更改编号(SCN)