Транзакции приложений, не связанных с базой данных

Как можно инкапсулировать действия, не связанные с базой данных, в транзакции?

Например, скажем, у меня есть некоторое количество методов / функций, вызываемых последовательно, некоторые обновляют базу данных, некоторые файлы обновления в файловой системе, некоторые параметры обновления в HttpSession, некоторые обновляют кеш и т. Д. Если один из последних одни не работают, например, при обновлении сеанса, как я могу откатить все другие изменения в файловой системе, в БД и т. д.?

Среда представляет собой контейнер Java Servlet, такой как Tomcat, с чем-то вроде Struts2, любой СУБД, уровнем сохранения, например Hibernate или Ibatis, и т. Д.

10
задан Valera 5 October 2011 в 21:39
поделиться