代码之家  ›  专栏  ›  技术社区  ›  kwyjibo

如何将数据附加到JTA事务?(或唯一标识)

  •  4
  • kwyjibo  · 技术社区  · 14 年前

    我有一个getStockQuote()函数,它将从股票市场获取一个符号的当前股票报价。

    我的目标是在JTA事务中,对getStockQuote()的第一个调用将获取股票报价,但同一事务中的所有后续调用将重用同一股票报价(例如:它不会尝试获取新报价)。如果一个不同的事务开始,或者另一个事务同时运行,我希望另一个事务在第一次调用时获取自己的股票报价。

    这是为了确保交易中的一致性,以便交易中的所有计算都基于相同的股票价格。

    这类似于如何配置JPA提供程序,使其仅从数据库中提取一次数据库行,并使用缓存值对事务中的同一数据库行进行后续访问。

    有人对如何实现这一目标有什么建议吗?

    2 回复  |  直到 14 年前
        1
  •  0
  •   Pascal Thivent    14 年前

    这需要一些测试,但我认为您可以将报价绑定到 ThreadLocal 让你的豆子工具 SessionSynchronization 线程本地 在事务提交之后(从而实现一种事务范围的上下文)。

        2
  •  0
  •   Sean Patrick Floyd    14 年前