Enhance JdbcMessageIdRepository so that custom tables and SQL can be easily used
--------------------------------------------------------------------------------

                 Key: CAMEL-4822
                 URL: https://issues.apache.org/jira/browse/CAMEL-4822
             Project: Camel
          Issue Type: Improvement
          Components: camel-sql
    Affects Versions: 2.8.3
            Reporter: Philip Glebow
            Priority: Minor
             Fix For: 2.9.1


The existing JdbcMessageIdRepository is tied to a particular table 
(CAMEL_MESSAGEPROCESSED) and includes an INSERT statement that is incompatible 
with MS SQL Server.  The design of the class makes it difficult to change the 
table name and related SQL statements.  In some environments, table names and 
structures are strictly controlled and it would be nice to be able to change 
these things easily.  It would also be nice for this to work on a variety of 
databases, including MS SQL Server.

I've submitted a patch that refactors the design of the class so that it can be 
easily extended.  An abstract base class called 
AbstractJDBCIdempotentRepository has been introduced that takes care of the 
plumbing required to query, insert and delete.  Classes that extend this 
abstract base class need only implement the query, insert, and delete 
operations.  This makes it very easy to customize an idempotent repository for 
a particular environment.

The existing JdbcMessageIdRepository has been changed to extend the 
AbstractJDBCIdempotentRepository and has retained the SQL statements present in 
the prior version.  A patch is attached to this JIRA and the existing unit test 
passes after applying this patch. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to