This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-4.0.x in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.0.x by this push: new e123d321bcd CAMEL-20010 (#11759) e123d321bcd is described below commit e123d321bcde73bf230478fcdbf11766bf28dd40 Author: Bruno Mendola <1853562+brunomend...@users.noreply.github.com> AuthorDate: Wed Oct 18 17:48:45 2023 +0200 CAMEL-20010 (#11759) * CAMEL-20010 Preserve default queries in JdbcMessageIdRepository to avoid replacing the table name more than once * CAMEL-20010 Use String#replace instead of replaceFirst to avoid unnecessary usage of regular expressions --------- Co-authored-by: Bruno Mendola <bruno.mend...@dedagroup.it> --- .../idempotent/jdbc/JdbcMessageIdRepository.java | 36 ++++++++++++++-------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepository.java b/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepository.java index 37b62f97ae7..af70a6c5a1e 100644 --- a/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepository.java +++ b/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepository.java @@ -32,17 +32,27 @@ import org.springframework.transaction.support.TransactionTemplate; public class JdbcMessageIdRepository extends AbstractJdbcMessageIdRepository { protected static final String DEFAULT_TABLENAME = "CAMEL_MESSAGEPROCESSED"; + protected static final String DEFAULT_TABLE_EXISTS_STRING = "SELECT 1 FROM CAMEL_MESSAGEPROCESSED WHERE 1 = 0"; + protected static final String DEFAULT_CREATE_STRING + = "CREATE TABLE CAMEL_MESSAGEPROCESSED (processorName VARCHAR(255), messageId VARCHAR(100), " + + "createdAt TIMESTAMP, PRIMARY KEY (processorName, messageId))"; + protected static final String DEFAULT_QUERY_STRING + = "SELECT COUNT(*) FROM CAMEL_MESSAGEPROCESSED WHERE processorName = ? AND messageId = ?"; + protected static final String DEFAULT_INSERT_STRING + = "INSERT INTO CAMEL_MESSAGEPROCESSED (processorName, messageId, createdAt) VALUES (?, ?, ?)"; + protected static final String DEFAULT_DELETE_STRING + = "DELETE FROM CAMEL_MESSAGEPROCESSED WHERE processorName = ? AND messageId = ?"; + protected static final String DEFAULT_CLEAR_STRING = "DELETE FROM CAMEL_MESSAGEPROCESSED WHERE processorName = ?"; private boolean createTableIfNotExists = true; private String tableName; - private String tableExistsString = "SELECT 1 FROM CAMEL_MESSAGEPROCESSED WHERE 1 = 0"; - private String createString = "CREATE TABLE CAMEL_MESSAGEPROCESSED (processorName VARCHAR(255), messageId VARCHAR(100), " - + "createdAt TIMESTAMP, PRIMARY KEY (processorName, messageId))"; - private String queryString = "SELECT COUNT(*) FROM CAMEL_MESSAGEPROCESSED WHERE processorName = ? AND messageId = ?"; - private String insertString = "INSERT INTO CAMEL_MESSAGEPROCESSED (processorName, messageId, createdAt) VALUES (?, ?, ?)"; - private String deleteString = "DELETE FROM CAMEL_MESSAGEPROCESSED WHERE processorName = ? AND messageId = ?"; - private String clearString = "DELETE FROM CAMEL_MESSAGEPROCESSED WHERE processorName = ?"; + private String tableExistsString = DEFAULT_TABLE_EXISTS_STRING; + private String createString = DEFAULT_CREATE_STRING; + private String queryString = DEFAULT_QUERY_STRING; + private String insertString = DEFAULT_INSERT_STRING; + private String deleteString = DEFAULT_DELETE_STRING; + private String clearString = DEFAULT_CLEAR_STRING; public JdbcMessageIdRepository() { } @@ -65,12 +75,12 @@ public class JdbcMessageIdRepository extends AbstractJdbcMessageIdRepository { if (tableName != null) { // update query strings from default table name to the new table name - tableExistsString = tableExistsString.replaceFirst(DEFAULT_TABLENAME, tableName); - createString = createString.replaceFirst(DEFAULT_TABLENAME, tableName); - queryString = queryString.replaceFirst(DEFAULT_TABLENAME, tableName); - insertString = insertString.replaceFirst(DEFAULT_TABLENAME, tableName); - deleteString = deleteString.replaceFirst(DEFAULT_TABLENAME, tableName); - clearString = clearString.replaceFirst(DEFAULT_TABLENAME, tableName); + tableExistsString = DEFAULT_TABLE_EXISTS_STRING.replace(DEFAULT_TABLENAME, tableName); + createString = DEFAULT_CREATE_STRING.replace(DEFAULT_TABLENAME, tableName); + queryString = DEFAULT_QUERY_STRING.replace(DEFAULT_TABLENAME, tableName); + insertString = DEFAULT_INSERT_STRING.replace(DEFAULT_TABLENAME, tableName); + deleteString = DEFAULT_DELETE_STRING.replace(DEFAULT_TABLENAME, tableName); + clearString = DEFAULT_CLEAR_STRING.replace(DEFAULT_TABLENAME, tableName); } }