() {{
put("Foo", "Bar");
put("Bar", "Baz");
- }}, ctx.getData());
+ }}, ctx.configuration().getData());
assertNull(ctx.routine());
assertNull(ctx.resultSet());
diff --git a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java
index 594fb89dca..193cee0811 100644
--- a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java
+++ b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java
@@ -2041,6 +2041,11 @@ public abstract class jOOQAbstractTest<
new ExecuteListenerTests(this).testExecuteListenerOnResultQuery();
}
+ @Test
+ public void testExecuteListenerWithData() throws Exception {
+ new ExecuteListenerTests(this).testExecuteListenerWithData();
+ }
+
@Test
public void testExecuteListenerCustomException() throws Exception {
new ExecuteListenerTests(this).testExecuteListenerCustomException();
diff --git a/jOOQ/src/main/java/org/jooq/ExecuteContext.java b/jOOQ/src/main/java/org/jooq/ExecuteContext.java
index d293fb5359..68d69a1c2b 100644
--- a/jOOQ/src/main/java/org/jooq/ExecuteContext.java
+++ b/jOOQ/src/main/java/org/jooq/ExecuteContext.java
@@ -39,6 +39,7 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.util.Map;
import org.jooq.conf.Settings;
import org.jooq.conf.StatementType;
@@ -53,7 +54,58 @@ import org.jooq.exception.DataAccessException;
* @author Lukas Eder
* @see ExecuteListener
*/
-public interface ExecuteContext extends Configuration {
+public interface ExecuteContext {
+
+ /**
+ * Get all custom data from this ExecuteContext.
+ *
+ * This is custom data that was previously set to the execute context using
+ * {@link #data(Object, Object)}. Use custom data if you want to pass data
+ * between events received by an {@link ExecuteListener}.
+ *
+ * Unlike {@link Configuration#getData()}, these data's lifecycle only
+ * matches that of a single query execution.
+ *
+ * @return The custom data. This is never null
+ * @see ExecuteListener
+ */
+ Map