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


Java PessimisticLockException类代码示例

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


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

示例1: buildSQLExceptionConversionDelegate

import org.hibernate.PessimisticLockException; //导入依赖的package包/类
@Override
public SQLExceptionConversionDelegate buildSQLExceptionConversionDelegate() {
	return new SQLExceptionConversionDelegate() {
		@Override
		public JDBCException convert(SQLException sqlException, String message, String sql) {
			final String sqlState = JdbcExceptionHelper.extractSqlState( sqlException );

			if ( "40P01".equals( sqlState ) ) {
				// DEADLOCK DETECTED
				return new LockAcquisitionException( message, sqlException, sql );
			}

			if ( "55P03".equals( sqlState ) ) {
				// LOCK NOT AVAILABLE
				return new PessimisticLockException( message, sqlException, sql );
			}

			// returning null allows other delegates to operate
			return null;
		}
	};
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:23,代码来源:PostgreSQL81Dialect.java

示例2: isLockingException

import org.hibernate.PessimisticLockException; //导入依赖的package包/类
private static boolean isLockingException(final Throwable t, final boolean recurse) {
    if (t instanceof LockingException || t instanceof LockAcquisitionException || t instanceof PessimisticLockException) {
        return true;
    }
    if (t instanceof SQLException) {
        final SQLException e = (SQLException) t;
        return e.getErrorCode() == ER_LOCK_WAIT_TIMEOUT || ST_LOCK.equals(e.getSQLState());
    }
    if (recurse) {
        for (final Throwable thr : ExceptionUtils.getThrowables(t)) {
            if (isLockingException(thr, false)) {
                return true;
            }
        }
    }
    return false;
}
 
开发者ID:crypto-coder,项目名称:open-cyclos,代码行数:18,代码来源:ExceptionHelper.java

示例3: isTransient

import org.hibernate.PessimisticLockException; //导入依赖的package包/类
@Override
public boolean isTransient(Exception e) {
    if (e instanceof LockAcquisitionException || e instanceof PessimisticLockException || e instanceof JDBCConnectionException) {
        return true;
    }
    if (e instanceof GenericJDBCException) {
        JDBCException se = (JDBCException) e;
        return super.isTransient(se.getSQLException());
    }
    return false;
}
 
开发者ID:rbuck,项目名称:java-retry,代码行数:12,代码来源:HibernateTransientExceptionDetector.java

示例4: convert

import org.hibernate.PessimisticLockException; //导入依赖的package包/类
@Override
public JDBCException convert(SQLException sqlException, String message, String sql) {
	final String sqlState = JdbcExceptionHelper.extractSqlState( sqlException );
	final int errorCode = JdbcExceptionHelper.extractErrorCode( sqlException );

	if ( sqlState != null ) {
		String sqlStateClassCode = JdbcExceptionHelper.determineSqlStateClassCode( sqlState );

		if ( sqlStateClassCode != null ) {
			if ( SQL_GRAMMAR_CATEGORIES.contains( sqlStateClassCode ) ) {
				return new SQLGrammarException( message, sqlException, sql );
			}
			else if ( INTEGRITY_VIOLATION_CATEGORIES.contains( sqlStateClassCode ) ) {
				final String constraintName = getConversionContext()
						.getViolatedConstraintNameExtracter()
						.extractConstraintName( sqlException );
				return new ConstraintViolationException( message, sqlException, sql, constraintName );
			}
			else if ( CONNECTION_CATEGORIES.contains( sqlStateClassCode ) ) {
				return new JDBCConnectionException( message, sqlException, sql );
			}
			else if ( DATA_CATEGORIES.contains( sqlStateClassCode ) ) {
				return new DataException( message, sqlException, sql );
			}
		}

		if ( "40001".equals( sqlState ) ) {
			return new LockAcquisitionException( message, sqlException, sql );
		}

		if ( "40XL1".equals( sqlState ) || "40XL2".equals( sqlState )) {
			// Derby "A lock could not be obtained within the time requested."
			return new PessimisticLockException( message, sqlException, sql );
		}

		// MySQL Query execution was interrupted
		if ( "70100".equals( sqlState ) ||
				// Oracle user requested cancel of current operation
				( "72000".equals( sqlState ) && errorCode == 1013 ) ) {
			throw new QueryTimeoutException(  message, sqlException, sql );
		}
	}

	return null;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:46,代码来源:SQLStateConversionDelegate.java


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