Diferencia entre db.isopen y db! = Null

¿Cuál es realmente la diferencia entre db.isopen y db! = null o puedo usarlos en combinación y en qué orden lógico recomendado?

p.ej

Database db = null;
    try {
        Session sess = NotesPlatform.getInstance().getSession();
        db = sess.getDatabase(XPagesDataUtil.getServerName(server), database);
        if (!db.isOpen()) {
            try {
                db.open();
            } catch (NotesException ne) {
                if (StringUtil.equals(DominoUtil.LOCAL_CLIENT, server)) {
                    die[0] = new DominoImportException(ne, "Unable to find Views in the database: " + database);
                } else {
                    db = sess.getDatabase(XPagesDataUtil.getServerName(DominoUtil.LOCAL_CLIENT), database);
                    if (!db.isOpen()) {
                        db.open();
                    }
                }
            }
        }

Básicamente, quiero iniciar sesión si los usuarios acceden a una base de datos a la que no tienen acceso por alguna razón:

try {
    Database db = null;
    db = Utils.getSession().getDatabase(sName, dbName);
    if (!db.isOpen()){              
        try{
            db.open();              
        }catch(NotesException e){
            OpenLogUtil.logEvent(null, "User " + Utils.getSession().getEffectiveUserName() + " has unsufficient access for db:" + db.getFileName(), Level.INFO, null);
        }               
    }
} catch (Exception e) {
    OpenLogUtil.logErrorEx(e, JSFUtil.getXSPContext().getUrl().toString(), Level.SEVERE, null);
}
//my business logic here

¿Parece la combinación para verificar si existe una base de datos y si el usuario tiene acceso suficiente a ella no funciona como se esperaba?

Respuesta 1

Espero poder explicarte. No tengo ningún problema, solo quiero saber cómo construir el control del sistema de mis usuarios y quiero saber si mi idea es correcta: Mi idea: * Una clase (archivo 1) para funciones, métodos ...

Tengo un evento observable que puede tener múltiples observadores. El primer observador es siempre un código de limpieza que eliminará todas las demás suscripciones a los observables (esto se debe a que todos los demás ...

Estoy usando JPA 2 con la versión Hibernate. 4.1.7.Final como implementación de JPA. También estoy usando Spring framework v. 3.1.2.RELEASE para ser claro. Y aquí está mi problema. He escrito un método para agregar / actualizar ...

Estoy teniendo problemas con las clases anidadas en un proyecto para la escuela. Actualmente, estoy tratando de escribir un método para insertar un elemento en una estructura de datos de matriz irregular. Utiliza un objeto creado por un ...