@@ -41,6 +41,7 @@ class JdbcStore implements MessageStore {
4141 private final String sessionTableName ;
4242 private final String messageTableName ;
4343 private final String defaultSessionIdPropertyValue ;
44+ private final boolean persistMessages ;
4445
4546 private String SQL_UPDATE_SEQNUMS ;
4647 private String SQL_INSERT_SESSION ;
@@ -74,6 +75,9 @@ public JdbcStore(SessionSettings settings, SessionID sessionID, DataSource ds) t
7475 defaultSessionIdPropertyValue = SessionID .NOT_SET ;
7576 }
7677
78+ persistMessages = !settings .isSetting (sessionID , Session .SETTING_PERSIST_MESSAGES ) ||
79+ settings .getBool (sessionID , Session .SETTING_PERSIST_MESSAGES );
80+
7781 dataSource = ds == null ? JdbcUtil .getDataSource (settings , sessionID ) : ds ;
7882
7983 // One table is sampled for the extended session ID columns. Be sure
@@ -180,9 +184,11 @@ public void reset() throws IOException {
180184 PreparedStatement updateTime = null ;
181185 try {
182186 connection = dataSource .getConnection ();
183- deleteMessages = connection .prepareStatement (SQL_DELETE_MESSAGES );
184- setSessionIdParameters (deleteMessages , 1 );
185- deleteMessages .execute ();
187+ if (persistMessages ) {
188+ deleteMessages = connection .prepareStatement (SQL_DELETE_MESSAGES );
189+ setSessionIdParameters (deleteMessages , 1 );
190+ deleteMessages .execute ();
191+ }
186192
187193 updateTime = connection .prepareStatement (SQL_UPDATE_SESSION );
188194 updateTime .setTimestamp (1 , new Timestamp (Calendar .getInstance (
0 commit comments