Изображение сцены;У меня есть мобильное приложение, которое снимает 20 долларов с управляемого сервера Spring и ждет подтверждения, прежде чем пометить его как завершенное в приложении.
Однако;
Мобильное приложение отправляет запрос на вывод на сервер
Контроллер получает запрос и вызывает уровень сервера, как обычно уровень обслуживания принимаетдолгое время для снятия денег (причина не важна).
Время ожидания мобильного приложения (с SocketException) и запрос помещаются в очередь, пока он не сможет снова обратиться к приложению.
Сервер завершает запрос от 1, но не знает, что время ожидания истекло у клиента.
Теперь у нас есть сценарий, в котором мобильное приложениесчитает, что 20 долларов не удалось, но сервер выполнил запрос.
Итак, вопросы;
• Может ли транзакция Spring откатиться, когда сокеты закрыты (т.е. когда мобильное приложение истекло время ожидания запроса)?
• Если нет - каков наилучший подход для достижения вышеуказанного?
Некоторая информация о сервере • Spring 3.1 • Контроллеры / службы / DAO на основе Spring.• Hibernate (JPA) • MYSQL Data store
Спасибо,
Ян.