Доброе время суток. Дапустим у меня есть обек типа Map<String, String>. В нем хранитса дапустим какието данные, которые хранятся тоже и в базе данных. Если мне например надо поменят какоето значение в map'е или добавит новое, то надо поменять и в базе данных. Taкая операция состоит из несколко шагов: поменят сам map и зделат два упдата/инсерта в базе данных. Код вигледел би примерно так: Код | void someMethod(Map<String, String> params) { params.set("one", "one value"); params.set("two", "two value");
paramsDAO.insetParam("one", "one value"); paramsDAO.insetParam("two", "two value"); }
|
Отривки из кода что я щейчас исползую: Код | <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${drv}"/> <property name="url" value="${url}"/> <property name="username" value="${user}"/> <property name="password" value="${pass}"/> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean>
|
Код | public class ParamsDAOImpl extends JdbcDaoSupport ...
|
Но если например несработает первый инсерт, то сам обект params уже будет изменен. Поетаму етот метод должен происходит както в транзакции. Я с транзакциями незнаком в спринге (конечно почитал немного), но возник вопрос, возможно ли такой метод проводит в транзакции. Смогут ли другие потоки визиват етот метод? Это сообщение отредактировал(а) gelo86 - 15.10.2008, 23:02
|