com.mysql.cj.exceptions.PasswordExpiredException Java Examples
The following examples show how to use
com.mysql.cj.exceptions.PasswordExpiredException.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ConnectionImpl.java From lams with GNU General Public License v2.0 | 6 votes |
/** * Tests to see if the connection is in Read Only Mode. * * @param useSessionStatus * in some cases, for example when restoring connection with autoReconnect=true, * we can rely only on saved readOnly state, so use useSessionStatus=false in that case * * @return true if the connection is read only * @exception SQLException * if a database access error occurs */ public boolean isReadOnly(boolean useSessionStatus) throws SQLException { if (useSessionStatus && !this.session.isClosed() && versionMeetsMinimum(5, 6, 5) && !this.useLocalSessionState.getValue() && this.readOnlyPropagatesToServer.getValue()) { try { String s = this.session.queryServerVariable(versionMeetsMinimum(8, 0, 3) || (versionMeetsMinimum(5, 7, 20) && !versionMeetsMinimum(8, 0, 0)) ? "@@session.transaction_read_only" : "@@session.tx_read_only"); if (s != null) { return Integer.parseInt(s) != 0; // mysql has a habit of tri+ state booleans } } catch (PasswordExpiredException ex) { if (this.disconnectOnExpiredPasswords.getValue()) { throw SQLError.createSQLException(Messages.getString("Connection.16"), MysqlErrorNumbers.SQL_STATE_GENERAL_ERROR, ex, getExceptionInterceptor()); } } } return this.readOnly; }
Example #2
Source File: ConnectionImpl.java From FoxTelem with GNU General Public License v3.0 | 6 votes |
@Override public boolean isReadOnly(boolean useSessionStatus) throws SQLException { if (useSessionStatus && !this.session.isClosed() && versionMeetsMinimum(5, 6, 5) && !this.useLocalSessionState.getValue() && this.readOnlyPropagatesToServer.getValue()) { try { String s = this.session.queryServerVariable(versionMeetsMinimum(8, 0, 3) || (versionMeetsMinimum(5, 7, 20) && !versionMeetsMinimum(8, 0, 0)) ? "@@session.transaction_read_only" : "@@session.tx_read_only"); if (s != null) { return Integer.parseInt(s) != 0; // mysql has a habit of tri+ state booleans } } catch (PasswordExpiredException ex) { if (this.disconnectOnExpiredPasswords.getValue()) { throw SQLError.createSQLException(Messages.getString("Connection.16"), MysqlErrorNumbers.SQL_STATE_GENERAL_ERROR, ex, getExceptionInterceptor()); } } } return this.readOnly; }
Example #3
Source File: MySQLJDBCReflections.java From quarkus with Apache License 2.0 | 5 votes |
@BuildStep void registerExceptionsForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass) { reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, CJCommunicationsException.class.getName())); reflectiveClass .produce(new ReflectiveClassBuildItem(false, false, CJConnectionFeatureNotAvailableException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, CJOperationNotSupportedException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, CJTimeoutException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, CJPacketTooBigException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, CJException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, AssertionFailedException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, CJOperationNotSupportedException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, ClosedOnExpiredPasswordException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, ConnectionIsClosedException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, DataConversionException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, DataReadException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, DataTruncationException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, DeadlockTimeoutRollbackMarker.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, FeatureNotAvailableException.class.getName())); reflectiveClass .produce(new ReflectiveClassBuildItem(false, false, InvalidConnectionAttributeException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, NumberOutOfRange.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, OperationCancelledException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, PasswordExpiredException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, PropertyNotModifiableException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, RSAException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, SSLParamsException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, StatementIsClosedException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, StreamingNotifiable.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, UnableToConnectException.class.getName())); reflectiveClass .produce(new ReflectiveClassBuildItem(false, false, UnsupportedConnectionStringException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, WrongArgumentException.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, "com.mysql.cj.jdbc.MysqlXAException")); reflectiveClass .produce(new ReflectiveClassBuildItem(false, false, StandardLoadBalanceExceptionChecker.class.getName())); reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, NdbLoadBalanceExceptionChecker.class.getName())); }
Example #4
Source File: NativeProtocol.java From lams with GNU General Public License v2.0 | 4 votes |
public void checkErrorMessage(NativePacketPayload resultPacket) { resultPacket.setPosition(0); byte statusCode = (byte) resultPacket.readInteger(IntegerDataType.INT1); // Error handling if (statusCode == (byte) 0xff) { String serverErrorMessage; int errno = 2000; errno = (int) resultPacket.readInteger(IntegerDataType.INT2); String xOpen = null; serverErrorMessage = resultPacket.readString(StringSelfDataType.STRING_TERM, this.serverSession.getErrorMessageEncoding()); if (serverErrorMessage.charAt(0) == '#') { // we have an SQLState if (serverErrorMessage.length() > 6) { xOpen = serverErrorMessage.substring(1, 6); serverErrorMessage = serverErrorMessage.substring(6); if (xOpen.equals("HY000")) { xOpen = MysqlErrorNumbers.mysqlToSqlState(errno); } } else { xOpen = MysqlErrorNumbers.mysqlToSqlState(errno); } } else { xOpen = MysqlErrorNumbers.mysqlToSqlState(errno); } clearInputStream(); StringBuilder errorBuf = new StringBuilder(); String xOpenErrorMessage = MysqlErrorNumbers.get(xOpen); boolean useOnlyServerErrorMessages = this.propertySet.getBooleanReadableProperty(PropertyDefinitions.PNAME_useOnlyServerErrorMessages).getValue(); if (!useOnlyServerErrorMessages) { if (xOpenErrorMessage != null) { errorBuf.append(xOpenErrorMessage); errorBuf.append(Messages.getString("Protocol.0")); } } errorBuf.append(serverErrorMessage); if (!useOnlyServerErrorMessages) { if (xOpenErrorMessage != null) { errorBuf.append("\""); } } appendDeadlockStatusInformation(this.session, xOpen, errorBuf); if (xOpen != null) { if (xOpen.startsWith("22")) { throw new DataTruncationException(errorBuf.toString(), 0, true, false, 0, 0, errno); } if (errno == MysqlErrorNumbers.ER_MUST_CHANGE_PASSWORD) { throw ExceptionFactory.createException(PasswordExpiredException.class, errorBuf.toString(), getExceptionInterceptor()); } else if (errno == MysqlErrorNumbers.ER_MUST_CHANGE_PASSWORD_LOGIN) { throw ExceptionFactory.createException(ClosedOnExpiredPasswordException.class, errorBuf.toString(), getExceptionInterceptor()); } } throw ExceptionFactory.createException(errorBuf.toString(), xOpen, errno, false, null, getExceptionInterceptor()); } }
Example #5
Source File: ConnectionImpl.java From lams with GNU General Public License v2.0 | 4 votes |
private void connectOneTryOnly(boolean isForReconnect) throws SQLException { Exception connectionNotEstablishedBecause = null; try { JdbcConnection c = getProxy(); this.session.connect(this.origHostInfo, this.user, this.password, this.database, DriverManager.getLoginTimeout() * 1000, c); // save state from old connection boolean oldAutoCommit = getAutoCommit(); int oldIsolationLevel = this.isolationLevel; boolean oldReadOnly = isReadOnly(false); String oldCatalog = getCatalog(); this.session.setQueryInterceptors(this.queryInterceptors); // Server properties might be different from previous connection, so initialize again... initializePropsFromServer(); if (isForReconnect) { // Restore state from old connection setAutoCommit(oldAutoCommit); setTransactionIsolation(oldIsolationLevel); setCatalog(oldCatalog); setReadOnly(oldReadOnly); } return; } catch (UnableToConnectException rejEx) { close(); this.session.getProtocol().getSocketConnection().forceClose(); throw rejEx; } catch (Exception EEE) { if ((EEE instanceof PasswordExpiredException || EEE instanceof SQLException && ((SQLException) EEE).getErrorCode() == MysqlErrorNumbers.ER_MUST_CHANGE_PASSWORD) && !this.disconnectOnExpiredPasswords.getValue()) { return; } if (this.session != null) { this.session.forceClose(); } connectionNotEstablishedBecause = EEE; if (EEE instanceof SQLException) { throw (SQLException) EEE; } if (EEE.getCause() != null && EEE.getCause() instanceof SQLException) { throw (SQLException) EEE.getCause(); } if (EEE instanceof CJException) { throw (CJException) EEE; } SQLException chainedEx = SQLError.createSQLException(Messages.getString("Connection.UnableToConnect"), MysqlErrorNumbers.SQL_STATE_UNABLE_TO_CONNECT_TO_DATASOURCE, getExceptionInterceptor()); chainedEx.initCause(connectionNotEstablishedBecause); throw chainedEx; } }
Example #6
Source File: ConnectionImpl.java From FoxTelem with GNU General Public License v3.0 | 4 votes |
private void connectOneTryOnly(boolean isForReconnect) throws SQLException { Exception connectionNotEstablishedBecause = null; try { JdbcConnection c = getProxy(); this.session.connect(this.origHostInfo, this.user, this.password, this.database, DriverManager.getLoginTimeout() * 1000, c); // save state from old connection boolean oldAutoCommit = getAutoCommit(); int oldIsolationLevel = this.isolationLevel; boolean oldReadOnly = isReadOnly(false); String oldCatalog = getCatalog(); this.session.setQueryInterceptors(this.queryInterceptors); // Server properties might be different from previous connection, so initialize again... initializePropsFromServer(); if (isForReconnect) { // Restore state from old connection setAutoCommit(oldAutoCommit); setTransactionIsolation(oldIsolationLevel); setCatalog(oldCatalog); setReadOnly(oldReadOnly); } return; } catch (UnableToConnectException rejEx) { close(); this.session.getProtocol().getSocketConnection().forceClose(); throw rejEx; } catch (Exception EEE) { if ((EEE instanceof PasswordExpiredException || EEE instanceof SQLException && ((SQLException) EEE).getErrorCode() == MysqlErrorNumbers.ER_MUST_CHANGE_PASSWORD) && !this.disconnectOnExpiredPasswords.getValue()) { return; } if (this.session != null) { this.session.forceClose(); } connectionNotEstablishedBecause = EEE; if (EEE instanceof SQLException) { throw (SQLException) EEE; } if (EEE.getCause() != null && EEE.getCause() instanceof SQLException) { throw (SQLException) EEE.getCause(); } if (EEE instanceof CJException) { throw (CJException) EEE; } SQLException chainedEx = SQLError.createSQLException(Messages.getString("Connection.UnableToConnect"), MysqlErrorNumbers.SQL_STATE_UNABLE_TO_CONNECT_TO_DATASOURCE, getExceptionInterceptor()); chainedEx.initCause(connectionNotEstablishedBecause); throw chainedEx; } }
Example #7
Source File: NativeProtocol.java From FoxTelem with GNU General Public License v3.0 | 4 votes |
public void checkErrorMessage(NativePacketPayload resultPacket) { resultPacket.setPosition(0); byte statusCode = (byte) resultPacket.readInteger(IntegerDataType.INT1); // Error handling if (statusCode == (byte) 0xff) { String serverErrorMessage; int errno = 2000; errno = (int) resultPacket.readInteger(IntegerDataType.INT2); String xOpen = null; serverErrorMessage = resultPacket.readString(StringSelfDataType.STRING_TERM, this.serverSession.getErrorMessageEncoding()); if (serverErrorMessage.charAt(0) == '#') { // we have an SQLState if (serverErrorMessage.length() > 6) { xOpen = serverErrorMessage.substring(1, 6); serverErrorMessage = serverErrorMessage.substring(6); if (xOpen.equals("HY000")) { xOpen = MysqlErrorNumbers.mysqlToSqlState(errno); } } else { xOpen = MysqlErrorNumbers.mysqlToSqlState(errno); } } else { xOpen = MysqlErrorNumbers.mysqlToSqlState(errno); } clearInputStream(); StringBuilder errorBuf = new StringBuilder(); String xOpenErrorMessage = MysqlErrorNumbers.get(xOpen); boolean useOnlyServerErrorMessages = this.propertySet.getBooleanProperty(PropertyKey.useOnlyServerErrorMessages).getValue(); if (!useOnlyServerErrorMessages) { if (xOpenErrorMessage != null) { errorBuf.append(xOpenErrorMessage); errorBuf.append(Messages.getString("Protocol.0")); } } errorBuf.append(serverErrorMessage); if (!useOnlyServerErrorMessages) { if (xOpenErrorMessage != null) { errorBuf.append("\""); } } appendDeadlockStatusInformation(this.session, xOpen, errorBuf); if (xOpen != null) { if (xOpen.startsWith("22")) { throw new DataTruncationException(errorBuf.toString(), 0, true, false, 0, 0, errno); } if (errno == MysqlErrorNumbers.ER_MUST_CHANGE_PASSWORD) { throw ExceptionFactory.createException(PasswordExpiredException.class, errorBuf.toString(), getExceptionInterceptor()); } else if (errno == MysqlErrorNumbers.ER_MUST_CHANGE_PASSWORD_LOGIN) { throw ExceptionFactory.createException(ClosedOnExpiredPasswordException.class, errorBuf.toString(), getExceptionInterceptor()); } } throw ExceptionFactory.createException(errorBuf.toString(), xOpen, errno, false, null, getExceptionInterceptor()); } }