@Override
    public void setReadOnly(WSRdbManagedConnectionImpl managedConn, boolean readOnly, boolean externalCall) 
    throws SQLException {
        if (tc.isDebugEnabled())
            Tr.debug(this, tc, "setReadOnly", managedConn, readOnly, externalCall); 

        if (externalCall) 
        {
            if (readOnly) {
                // Fix this message later
                throw new SQLException(AdapterUtil.getNLSMessage("METHOD_UNSUPPORTED", "setReadOnly", Connection.class.getName()));
            } else {
                // ignore it but log an informational message stating that we won't start a transaction
                Tr.info(tc, "ORA_READONLY"); 

            }
        } else 
        {
            if (tc.isDebugEnabled())
                Tr.debug(this, tc, "setReadOnly ignored for internal call"); 
        }
    }
@ Override public void setReadOnly ( WSRdbManagedConnectionImpl managedConn , boolean readOnly , boolean externalCall ) throws SQLException { if ( tc . isDebugEnabled ( ) ) Tr . debug ( this , tc , "setReadOnly" , managedConn , readOnly , externalCall ) ; if ( externalCall ) { if ( readOnly ) { throw new SQLException ( AdapterUtil . getNLSMessage ( "METHOD_UNSUPPORTED" , "setReadOnly" , Connection . class . getName ( ) ) ) ; } else { Tr . info ( tc , "ORA_READONLY" ) ; } } else { if ( tc . isDebugEnabled ( ) ) Tr . debug ( this , tc , "setReadOnly ignored for internal call" ) ; } }
<p>This method is used to do special handling for readOnly when method setReadOnly is called.
If readOnly is true, an SQLException is thrown. If readOnly is false, we ignore it
and log an informational message.</p>

@param managedConn WSRdbManagedConnectionImpl object
@param readOnly The readOnly value going to be set
@param externalCall indicates if caller is WAS or user application,