sql >> Databáze >  >> RDS >> Oracle

Java připojení k více databázím

Ukládáte jedinečný zdroj dat (a připojení a dbMainConnection) ve statickém proměnná vaší třídy. Pokaždé, když někdo požádá o zdroj dat, nahradíte předchozí zdroj novým. Pokud dojde k výjimce při získávání zdroje dat z JNDI, statický zdroj dat zůstane tak, jak je. Do statické proměnné byste neměli nic ukládat. Vzhledem k tomu, že vaše třída dbMainConnection je vytvořena s názvem databáze a existuje několik názvů databází, nemá smysl z ní dělat singleton.

Pro přístup ke zdroji dat použijte následující kód:

public final class DataSourceUtil {
    /**
     * Private constructor to prevent unnecessary instantiations
     */
    private DataSourceUtil() {
    }

    public static DataSource getDataSource(String name) {
        try {
            Context ctx = new InitialContext();
            String database = "jdbc/" + name;
            return (javax.sql.DataSource) ctx.lookup (database);
        }
        catch (NamingException e) {
            throw new IllegalStateException("Error accessing JNDI and getting the database named " + name);
        }
    }
}

A umožnit volajícím získat připojení ze zdroje dat a uzavřít jej, až jej dokončí.



  1. Duplicitní záznam na INSERT po DELETE z tabulky v transakci

  2. SQL Group BY, Top N položek pro každou skupinu

  3. jak importovat datové soubory z s3 do postgresql rds

  4. Podmíněné VLOŽENÍ DO MySQL – KDE NEEXISTUJE