diff --git a/.classpath b/.classpath
index bf4230d7a..322cd924e 100644
--- a/.classpath
+++ b/.classpath
@@ -1,6 +1,7 @@
-
+
+
@@ -13,7 +14,11 @@
-
+
+
+
+
+
@@ -22,4 +27,5 @@
+
\ No newline at end of file
diff --git a/.project b/.project
index b7475b87c..4ec64ec39 100644
--- a/.project
+++ b/.project
@@ -1,38 +1,37 @@
-
- data-commons
-
-
-
-
-
- org.eclipse.wst.common.project.facet.core.builder
-
-
-
-
- org.eclipse.wst.validation.validationbuilder
-
-
-
-
- org.eclipse.ajdt.core.ajbuilder
-
-
-
-
- org.springframework.ide.eclipse.core.springbuilder
-
-
-
-
-
- org.eclipse.wst.common.project.facet.core.nature
- org.eclipse.jdt.core.javanature
- org.eclipse.wst.common.modulecore.ModuleCoreNature
- org.eclipse.jem.workbench.JavaEMFNature
- org.eclipse.ajdt.ui.ajnature
- com.springsource.sts.roo.core.nature
- org.springframework.ide.eclipse.core.springnature
-
-
+ data-commons
+
+
+
+
+ org.eclipse.wst.common.project.facet.core.builder
+
+
+ org.eclipse.wst.validation.validationbuilder
+
+
+ org.eclipse.ajdt.core.ajbuilder
+
+
+ org.springframework.ide.eclipse.core.springbuilder
+
+
+ org.eclipse.ajdt.core.ajbuilder
+
+
+ aspectPath
+ org.springframework.aspects
+
+
+
+
+
+ org.eclipse.wst.common.project.facet.core.nature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.wst.common.modulecore.ModuleCoreNature
+ org.eclipse.jem.workbench.JavaEMFNature
+ org.eclipse.ajdt.ui.ajnature
+ com.springsource.sts.roo.core.nature
+ org.springframework.ide.eclipse.core.springnature
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index a93b778ee..b4ba2f43a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,6 +9,7 @@
UTF-8
3.0.2.RELEASE
+ 1.6.9
1.6.0
@@ -120,6 +121,11 @@
spring-tx
${spring.version}
+
+ org.aspectj
+ aspectjrt
+ ${aspectj.version}
+
org.mockito
@@ -133,6 +139,13 @@
1.8.0
test
+
+
+
+ javax.persistence
+ persistence-api
+ 1.0.0
+
@@ -146,6 +159,43 @@
1.6
+
+ org.codehaus.mojo
+ aspectj-maven-plugin
+ 1.0
+
+
+
+ org.aspectj
+ aspectjrt
+ ${aspectj.version}
+
+
+ org.aspectj
+ aspectjtools
+ ${aspectj.version}
+
+
+
+
+
+ compile
+ test-compile
+
+
+
+
+ true
+
+
+ org.springframework
+ spring-aspects
+
+
+ 1.6
+ 1.6
+
+
org.apache.maven.plugins
maven-surefire-plugin
diff --git a/src/main/java/org/springframework/persistence/AsynchStoreCompletionListener.java b/src/main/java/org/springframework/persistence/AsynchStoreCompletionListener.java
new file mode 100644
index 000000000..4f417bb57
--- /dev/null
+++ b/src/main/java/org/springframework/persistence/AsynchStoreCompletionListener.java
@@ -0,0 +1,32 @@
+package org.springframework.persistence;
+
+import java.lang.reflect.Field;
+
+/**
+ * Listener interface for asynchronous storage operations.
+ * Can be annotated with OnlyOnFailure as an optimization
+ * if the listener is only interested in compensating transactions
+ * in the event of write failure.
+ *
+ * @author Rod Johnson
+ *
+ * @param new value type
+ */
+public interface AsynchStoreCompletionListener {
+
+ /**
+ * Constant indicating no store completion action
+ */
+ class NONE implements AsynchStoreCompletionListener