我有一个 getStockQuote() 函数,它将从股票市场获取一个符号的当前股票报价。
我的目标是在 JTA 事务中,第一次调用 getStockQuote() 将获取股票报价,但同一事务中的所有后续调用将重用相同的股票报价(例如:它不会尝试获取新报价)。如果一个不同的事务开始,或者另一个事务同时运行,我希望另一个事务在第一次调用时获取它自己的股票报价。
这是为了尽量确保交易内的一致性——以便交易内的所有计算都基于相同的股票价格。
这类似于您可以将 JPA 提供程序配置为仅从数据库中获取数据库行一次,并使用缓存的值在事务中对同一数据库行进行后续访问。
有没有人有关于如何实现这一点的提示?