1<u:proxy id="txn-proxy">
2 <u:transport id="http-8280"/>
3 <u:target>
4 <u:inSequence>
5 <u:java import="org.springframework.jdbc.core.simple.*;"><![CDATA[
6 String symbol = mediation.getXMLSupport().extractAsStringUsingXPath(msg, "//request/symbol", null);
7 msg.beginTransaction();
8
9 SimpleJdbcTemplate t = new SimpleJdbcTemplate(mediation.getDataSource("dataSource"));
10 t.update("INSERT INTO quotes (symbol) VALUES (?)", new Object[] {symbol});
11
12 msg.suspendTransaction();
13 System.out.println("Suspended...");
14 ]]></u:java>
15 </u:inSequence>
16 <u:inDestination>
17 <u:address>http://localhost:9000/service/SimpleStockQuoteService</u:address>
18 </u:inDestination>
19 <u:outSequence>
20 <u:java><![CDATA[
21 if (Double.parseDouble(mediation.getXMLSupport().extractAsStringUsingXPath(msg, "//last", null)) == 0) {
22 msg.resumeAndRollbackTransaction();
23 System.out.println("Rollback...");
24 } else {
25 msg.resumeAndCommitTransaction();
26 System.out.println("Commit...");
27 }
28 ]]></u:java>
29 </u:outSequence>
30 <u:outDestination>
31 <u:address type="response"/>
32 </u:outDestination>
33 </u:target>
34</u:proxy>
35
36<!--Standard Spring transactional DataSource definition-->
37<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
38 <property name="dataSource" ref="dataSource"/>
39</bean>
40
41<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
42 <property name="driverClassName" value="org.apache.derby.jdbc.ClientDriver"/>
43 <property name="url" value="jdbc:derby://localhost:1529/build/unittestdb"/>
44</bean>