funkyjive opened a new pull request, #4402: URL: https://github.com/apache/activemq-artemis/pull/4402
Using locking capabilities of the database, implement the a primitive manager to allow quorum voting to occur. This implementation has support for Oracle, MSSQL and Postgres -- with H2 being used for unit tests. The locking features used are not locks against a tables, but instead the idea of an arbitrarily named "application" lock. There is no SQL standard for this behavior and each database implementation is different. I have accounted for this by creating the concept of a database adapter -- i.e. adapting the primitive manager to work for the particular database. I have attempted to reduce duplication by declaring a BaseDatabaseAdapter which I think should work generally for all databases. Additionally, I introduced the concept of a DatabaseConnectionProvider. This was done for any users that are utilizing Artemis as an embedded feature or that otherwise need to declare their own mechanism for getting credentials. For instance, they may very well want to utilize some encryption for storing a database password in the configuration. The DefaultDatabaseConnectionProvider just gets url, username and password from the properties. It is likely that this implementation is enough for most uses, especially if we make something that allows the password to be stored encrypted. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
