当前位置: 首页>>代码示例>>Java>>正文


Java RecoverableDataAccessException类代码示例

本文整理汇总了Java中org.springframework.dao.RecoverableDataAccessException的典型用法代码示例。如果您正苦于以下问题:Java RecoverableDataAccessException类的具体用法?Java RecoverableDataAccessException怎么用?Java RecoverableDataAccessException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


RecoverableDataAccessException类属于org.springframework.dao包,在下文中一共展示了RecoverableDataAccessException类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: doTranslate

import org.springframework.dao.RecoverableDataAccessException; //导入依赖的package包/类
@Override
protected DataAccessException doTranslate(String task, String sql, SQLException ex) {
	if (ex instanceof SQLTransientException) {
		if (ex instanceof SQLTransientConnectionException) {
			return new TransientDataAccessResourceException(buildMessage(task, sql, ex), ex);
		}
		else if (ex instanceof SQLTransactionRollbackException) {
			return new ConcurrencyFailureException(buildMessage(task, sql, ex), ex);
		}
		else if (ex instanceof SQLTimeoutException) {
			return new QueryTimeoutException(buildMessage(task, sql, ex), ex);
		}
	}
	else if (ex instanceof SQLNonTransientException) {
		if (ex instanceof SQLNonTransientConnectionException) {
			return new DataAccessResourceFailureException(buildMessage(task, sql, ex), ex);
		}
		else if (ex instanceof SQLDataException) {
			return new DataIntegrityViolationException(buildMessage(task, sql, ex), ex);
		}
		else if (ex instanceof SQLIntegrityConstraintViolationException) {
			return new DataIntegrityViolationException(buildMessage(task, sql, ex), ex);
		}
		else if (ex instanceof SQLInvalidAuthorizationSpecException) {
			return new PermissionDeniedDataAccessException(buildMessage(task, sql, ex), ex);
		}
		else if (ex instanceof SQLSyntaxErrorException) {
			return new BadSqlGrammarException(task, sql, ex);
		}
		else if (ex instanceof SQLFeatureNotSupportedException) {
			return new InvalidDataAccessApiUsageException(buildMessage(task, sql, ex), ex);
		}
	}
	else if (ex instanceof SQLRecoverableException) {
		return new RecoverableDataAccessException(buildMessage(task, sql, ex), ex);
	}

	// Fallback to Spring's own SQL state translation...
	return null;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:41,代码来源:SQLExceptionSubclassTranslator.java

示例2: doTranslate

import org.springframework.dao.RecoverableDataAccessException; //导入依赖的package包/类
@Override
protected DataAccessException doTranslate(String task, String sql, SQLException ex) {
	if (ex instanceof SQLTransientException) {
		if (ex instanceof SQLTransactionRollbackException) {
			return new ConcurrencyFailureException(buildMessage(task, sql, ex), ex);
		}
		if (ex instanceof SQLTransientConnectionException) {
			return new TransientDataAccessResourceException(buildMessage(task, sql, ex), ex);
		}
		if (ex instanceof SQLTimeoutException) {
			return new QueryTimeoutException(buildMessage(task, sql, ex), ex);
		}
	}
	else if (ex instanceof SQLNonTransientException) {
		if (ex instanceof SQLDataException) {
			return new DataIntegrityViolationException(buildMessage(task, sql, ex), ex);
		}
		else if (ex instanceof SQLFeatureNotSupportedException) {
			return new InvalidDataAccessApiUsageException(buildMessage(task, sql, ex), ex);
		}
		else if (ex instanceof SQLIntegrityConstraintViolationException) {
			return new DataIntegrityViolationException(buildMessage(task, sql, ex), ex);
		}
		else if (ex instanceof SQLInvalidAuthorizationSpecException) {
			return new PermissionDeniedDataAccessException(buildMessage(task, sql, ex), ex);
		}
		else if (ex instanceof SQLNonTransientConnectionException) {
			return new DataAccessResourceFailureException(buildMessage(task, sql, ex), ex);
		}
		else if (ex instanceof SQLSyntaxErrorException) {
			return new BadSqlGrammarException(task, sql, ex);
		}
	}
	else if (ex instanceof SQLRecoverableException) {
		return new RecoverableDataAccessException(buildMessage(task, sql, ex), ex);
	}

	// Fallback to Spring's own SQL state translation...
	return null;
}
 
开发者ID:deathspeeder,项目名称:class-guard,代码行数:41,代码来源:SQLExceptionSubclassTranslator.java

示例3: WebPage

import org.springframework.dao.RecoverableDataAccessException; //导入依赖的package包/类
public WebPage() {
    try {
        securityInterceptor();
    } catch (RecoverableDataAccessException e) {
        AbstractWebApplication application = (AbstractWebApplication) getApplication();
        WebSession session = (WebSession) getSession();
        session.invalidateNow();
        throw new RestartResponseException(application.getHomePage());
    }
}
 
开发者ID:PkayJava,项目名称:pluggable,代码行数:11,代码来源:WebPage.java

示例4: errorCodeTranslation

import org.springframework.dao.RecoverableDataAccessException; //导入依赖的package包/类
@Test
public void errorCodeTranslation() {
	SQLExceptionTranslator sext = new SQLErrorCodeSQLExceptionTranslator(ERROR_CODES);

	SQLException dataIntegrityViolationEx = SQLExceptionSubclassFactory.newSQLDataException("", "", 0);
	DataIntegrityViolationException divex = (DataIntegrityViolationException) sext.translate("task", "SQL", dataIntegrityViolationEx);
	assertEquals(dataIntegrityViolationEx, divex.getCause());

	SQLException featureNotSupEx = SQLExceptionSubclassFactory.newSQLFeatureNotSupportedException("", "", 0);
	InvalidDataAccessApiUsageException idaex = (InvalidDataAccessApiUsageException) sext.translate("task", "SQL", featureNotSupEx);
	assertEquals(featureNotSupEx, idaex.getCause());

	SQLException dataIntegrityViolationEx2 = SQLExceptionSubclassFactory.newSQLIntegrityConstraintViolationException("", "", 0);
	DataIntegrityViolationException divex2 = (DataIntegrityViolationException) sext.translate("task", "SQL", dataIntegrityViolationEx2);
	assertEquals(dataIntegrityViolationEx2, divex2.getCause());

	SQLException permissionDeniedEx = SQLExceptionSubclassFactory.newSQLInvalidAuthorizationSpecException("", "", 0);
	PermissionDeniedDataAccessException pdaex = (PermissionDeniedDataAccessException) sext.translate("task", "SQL", permissionDeniedEx);
	assertEquals(permissionDeniedEx, pdaex.getCause());

	SQLException dataAccessResourceEx = SQLExceptionSubclassFactory.newSQLNonTransientConnectionException("", "", 0);
	DataAccessResourceFailureException darex = (DataAccessResourceFailureException) sext.translate("task", "SQL", dataAccessResourceEx);
	assertEquals(dataAccessResourceEx, darex.getCause());

	SQLException badSqlEx2 = SQLExceptionSubclassFactory.newSQLSyntaxErrorException("", "", 0);
	BadSqlGrammarException bsgex2 = (BadSqlGrammarException) sext.translate("task", "SQL2", badSqlEx2);
	assertEquals("SQL2", bsgex2.getSql());
	assertEquals(badSqlEx2, bsgex2.getSQLException());

	SQLException tranRollbackEx = SQLExceptionSubclassFactory.newSQLTransactionRollbackException("", "", 0);
	ConcurrencyFailureException cfex = (ConcurrencyFailureException) sext.translate("task", "SQL", tranRollbackEx);
	assertEquals(tranRollbackEx, cfex.getCause());

	SQLException transientConnEx = SQLExceptionSubclassFactory.newSQLTransientConnectionException("", "", 0);
	TransientDataAccessResourceException tdarex = (TransientDataAccessResourceException) sext.translate("task", "SQL", transientConnEx);
	assertEquals(transientConnEx, tdarex.getCause());

	SQLException transientConnEx2 = SQLExceptionSubclassFactory.newSQLTimeoutException("", "", 0);
	QueryTimeoutException tdarex2 = (QueryTimeoutException) sext.translate("task", "SQL", transientConnEx2);
	assertEquals(transientConnEx2, tdarex2.getCause());

	SQLException recoverableEx = SQLExceptionSubclassFactory.newSQLRecoverableException("", "", 0);
	RecoverableDataAccessException rdaex2 = (RecoverableDataAccessException) sext.translate("task", "SQL", recoverableEx);
	assertEquals(recoverableEx, rdaex2.getCause());

	// Test classic error code translation. We should move there next if the exception we pass in is not one
	// of the new sub-classes.
	SQLException sexEct = new SQLException("", "", 1);
	BadSqlGrammarException bsgEct = (BadSqlGrammarException) sext.translate("task", "SQL-ECT", sexEct);
	assertEquals("SQL-ECT", bsgEct.getSql());
	assertEquals(sexEct, bsgEct.getSQLException());

	// Test fallback. We assume that no database will ever return this error code,
	// but 07xxx will be bad grammar picked up by the fallback SQLState translator
	SQLException sexFbt = new SQLException("", "07xxx", 666666666);
	BadSqlGrammarException bsgFbt = (BadSqlGrammarException) sext.translate("task", "SQL-FBT", sexFbt);
	assertEquals("SQL-FBT", bsgFbt.getSql());
	assertEquals(sexFbt, bsgFbt.getSQLException());
	// and 08xxx will be data resource failure (non-transient) picked up by the fallback SQLState translator
	SQLException sexFbt2 = new SQLException("", "08xxx", 666666666);
	DataAccessResourceFailureException darfFbt = (DataAccessResourceFailureException) sext.translate("task", "SQL-FBT2", sexFbt2);
	assertEquals(sexFbt2, darfFbt.getCause());
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:64,代码来源:SQLExceptionSubclassTranslatorTests.java

示例5: testErrorCodeTranslation

import org.springframework.dao.RecoverableDataAccessException; //导入依赖的package包/类
public void testErrorCodeTranslation() {
	if (JdkVersion.getMajorJavaVersion() < JdkVersion.JAVA_16) {
		return;
	}

	SQLExceptionTranslator sext = new SQLErrorCodeSQLExceptionTranslator(ERROR_CODES);

	SQLException dataIntegrityViolationEx = SQLExceptionSubclassFactory.newSQLDataException("", "", 0);
	DataIntegrityViolationException divex = (DataIntegrityViolationException) sext.translate("task", "SQL", dataIntegrityViolationEx);
	assertEquals(dataIntegrityViolationEx, divex.getCause());

	SQLException featureNotSupEx = SQLExceptionSubclassFactory.newSQLFeatureNotSupportedException("", "", 0);
	InvalidDataAccessApiUsageException idaex = (InvalidDataAccessApiUsageException) sext.translate("task", "SQL", featureNotSupEx);
	assertEquals(featureNotSupEx, idaex.getCause());

	SQLException dataIntegrityViolationEx2 = SQLExceptionSubclassFactory.newSQLIntegrityConstraintViolationException("", "", 0);
	DataIntegrityViolationException divex2 = (DataIntegrityViolationException) sext.translate("task", "SQL", dataIntegrityViolationEx2);
	assertEquals(dataIntegrityViolationEx2, divex2.getCause());

	SQLException permissionDeniedEx = SQLExceptionSubclassFactory.newSQLInvalidAuthorizationSpecException("", "", 0);
	PermissionDeniedDataAccessException pdaex = (PermissionDeniedDataAccessException) sext.translate("task", "SQL", permissionDeniedEx);
	assertEquals(permissionDeniedEx, pdaex.getCause());

	SQLException dataAccessResourceEx = SQLExceptionSubclassFactory.newSQLNonTransientConnectionException("", "", 0);
	DataAccessResourceFailureException darex = (DataAccessResourceFailureException) sext.translate("task", "SQL", dataAccessResourceEx);
	assertEquals(dataAccessResourceEx, darex.getCause());

	SQLException badSqlEx2 = SQLExceptionSubclassFactory.newSQLSyntaxErrorException("", "", 0);
	BadSqlGrammarException bsgex2 = (BadSqlGrammarException) sext.translate("task", "SQL2", badSqlEx2);
	assertEquals("SQL2", bsgex2.getSql());
	assertEquals(badSqlEx2, bsgex2.getSQLException());

	SQLException tranRollbackEx = SQLExceptionSubclassFactory.newSQLTransactionRollbackException("", "", 0);
	ConcurrencyFailureException cfex = (ConcurrencyFailureException) sext.translate("task", "SQL", tranRollbackEx);
	assertEquals(tranRollbackEx, cfex.getCause());

	SQLException transientConnEx = SQLExceptionSubclassFactory.newSQLTransientConnectionException("", "", 0);
	TransientDataAccessResourceException tdarex = (TransientDataAccessResourceException) sext.translate("task", "SQL", transientConnEx);
	assertEquals(transientConnEx, tdarex.getCause());

	SQLException transientConnEx2 = SQLExceptionSubclassFactory.newSQLTimeoutException("", "", 0);
	QueryTimeoutException tdarex2 = (QueryTimeoutException) sext.translate("task", "SQL", transientConnEx2);
	assertEquals(transientConnEx2, tdarex2.getCause());

	SQLException recoverableEx = SQLExceptionSubclassFactory.newSQLRecoverableException("", "", 0);
	RecoverableDataAccessException rdaex2 = (RecoverableDataAccessException) sext.translate("task", "SQL", recoverableEx);
	assertEquals(recoverableEx, rdaex2.getCause());

	// Test classic error code translation. We should move there next if the exception we pass in is not one
	// of the new sub-classes.
	SQLException sexEct = new SQLException("", "", 1);
	BadSqlGrammarException bsgEct = (BadSqlGrammarException) sext.translate("task", "SQL-ECT", sexEct);
	assertEquals("SQL-ECT", bsgEct.getSql());
	assertEquals(sexEct, bsgEct.getSQLException());

	// Test fallback. We assume that no database will ever return this error code,
	// but 07xxx will be bad grammar picked up by the fallback SQLState translator
	SQLException sexFbt = new SQLException("", "07xxx", 666666666);
	BadSqlGrammarException bsgFbt = (BadSqlGrammarException) sext.translate("task", "SQL-FBT", sexFbt);
	assertEquals("SQL-FBT", bsgFbt.getSql());
	assertEquals(sexFbt, bsgFbt.getSQLException());
	// and 08xxx will be data resource failure (non-transient) picked up by the fallback SQLState translator
	SQLException sexFbt2 = new SQLException("", "08xxx", 666666666);
	DataAccessResourceFailureException darfFbt = (DataAccessResourceFailureException) sext.translate("task", "SQL-FBT2", sexFbt2);
	assertEquals(sexFbt2, darfFbt.getCause());
}
 
开发者ID:deathspeeder,项目名称:class-guard,代码行数:67,代码来源:SQLExceptionSubclassTranslatorTests.java


注:本文中的org.springframework.dao.RecoverableDataAccessException类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。