У меня есть функция getStockQuote(), которая получает текущую котировку акций для символа с фондового рынка.
Моя цель состоит в том, чтобы в транзакции JTA первый вызов getStockQuote() извлекал котировку акций, но все последующие вызовы в рамках одной и той же транзакции будут повторно использовать одну и ту же котировку акций (например, она не будет пытаться получить новую котировку). Если запускается другая транзакция или другая транзакция выполняется одновременно, я ожидаю, что другая транзакция получит свою собственную котировку акций при первом вызове.
Это делается для того, чтобы попытаться обеспечить согласованность внутри транзакции, чтобы все расчеты в рамках транзакции основывались на одной и той же цене акций.
Это похоже на то, как вы можете настроить провайдеров JPA так, чтобы они извлекали строку базы данных из базы данных только один раз и использовали кэшированное значение для последующего доступа к той же строке базы данных в рамках транзакции.
Есть ли у кого-нибудь советы о том, как этого можно достичь?