public class SQLErrorCodesResolver extends Object implements PersistenceExceptionResolver
 This implementation will attempt to locate these error codes in the SQLException.getErrorCode() and
 SQLException.getSQLState(), respectively.
| Constructor and Description | 
|---|
SQLErrorCodesResolver(DataSource dataSource)
Initialize a SQLErrorCodesResolver, automatically detecting the database name through the given dataSource. 
 | 
SQLErrorCodesResolver(List<Integer> duplicateKeyCodes)
Initializes the SQLErrorCodesResolver using the given list of SQL Codes representing Key Constraint Violations. 
 | 
SQLErrorCodesResolver(Properties properties,
                     DataSource dataSource)
Initialize the SQLErrorCodesResolver with the given  
properties and use the dataSource
 to automatically retrieve the database product name. | 
SQLErrorCodesResolver(Properties properties,
                     String databaseProductName)
Initialize a SQLErrorCodesResolver, automatically detecting the database name through the given dataSource. 
 | 
SQLErrorCodesResolver(String databaseProductName)
Initialize a SQLErrorCodesResolver, automatically detecting the database name through the given dataSource. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
protected boolean | 
isDuplicateKeyCode(SQLException sqlException,
                  List<Integer> errorCodes)  | 
boolean | 
isDuplicateKeyViolation(Exception exception)
Indicates whether the given  
exception represents a duplicate key violation. | 
public SQLErrorCodesResolver(List<Integer> duplicateKeyCodes)
duplicateKeyCodes - A list of Integer containing SQL Codes representing Key Constraint Violationspublic SQLErrorCodesResolver(DataSource dataSource) throws SQLException
dataSource - The data source providing the information about the backing database.SQLException - when retrieving the database product name failsAxonConfigurationException - is the dataSource returns an unknown database product name. Use SQLErrorCodesResolver(java.util.Properties, javax.sql.DataSource) instead.public SQLErrorCodesResolver(String databaseProductName)
databaseProductName - The product name of the databaseAxonConfigurationException - is the dataSource returns an unknown database product name. Use SQLErrorCodesResolver(java.util.Properties, String) instead.public SQLErrorCodesResolver(Properties properties, String databaseProductName)
databaseName.duplicateKeyCodes=keyCode[,keyCode]*databaseName is the database product name as returned by the driver, with spaces ('
 ') replaced by underscore ('_'). The key codes must be a comma separated list of SQL Error code numbers (int).properties - the properties defining SQL Error Codes for Duplicate Key violations for different
                            databasesdatabaseProductName - The product name of the databasepublic SQLErrorCodesResolver(Properties properties, DataSource dataSource) throws SQLException
properties and use the dataSource
 to automatically retrieve the database product name.
 
 The form of the properties is expected to be:databaseName.duplicateKeyCodes=keyCode[,keyCode]*databaseName is the database product name as returned by the driver, with spaces ('
 ') replaced by underscore ('_'). The key codes must be a comma separated list of SQL Error code numbers (int).properties - the properties defining SQL Error Codes for Duplicate Key violations for different databasesdataSource - The data source providing the database product nameSQLException - when retrieving the database product name failspublic boolean isDuplicateKeyViolation(Exception exception)
PersistenceExceptionResolverexception represents a duplicate key violation. Typically, duplicate key
 violations indicates concurrent access to an entity in the application. Two users might be accessing the same
 Aggregate, for example.isDuplicateKeyViolation in interface PersistenceExceptionResolverexception - The exception to evaluatetrue if the given exception represents a Duplicate Key Violation, false
         otherwise.protected boolean isDuplicateKeyCode(SQLException sqlException, List<Integer> errorCodes)
sqlException - The exception to locate the error code inerrorCodes - The error codes indicating duplicate key violationstrue if the error code of the sqlException is in the given list of errorCodes, otherwise
 falseCopyright © 2010–2018. All rights reserved.