Форум сайта разработчиков developers.sun.ru

Как настроить Connection Pool так...

Изображение

Модератор: solo

Как настроить Connection Pool так...

Сообщение Fenixx Сб дек 19, 2009 1:00 am

чтобы можно было бы войти с разными учетными записями(СУБД) используя библиотеку Spring ?
Причем предварительно не прописывая в конфигурационный файл (xml и т.п.).
Спасибо :) .
Fenixx
 
Сообщения: 61
Зарегистрирован: Вс ноя 29, 2009 1:35 pm
Откуда: Россия

Re: Как настроить Connection Pool так...

Сообщение Fenixx Пт дек 25, 2009 12:35 pm

Код: Выделить всё
package data;

import java.io.IOException;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;

/**
*
* @author vendor
*/

public class JDBCTemplates {

    private static JDBCTemplates mc;
    private Map<String, JdbcTemplate> array = new HashMap<String, JdbcTemplate>();

    public static synchronized JDBCTemplates getInstance() {
        JDBCTemplates mcc;
        mcc = (mc == null ? new JDBCTemplates() : mc);
        mc = mcc;
        return mcc;
    }

    public JdbcTemplate getJdbcTemplate(String username, String password) throws ClassNotFoundException, SQLException, IOException {

        JdbcTemplate jdbcTemplate = array.get(username);

        if (jdbcTemplate == null) {
            java.util.Properties jdbcProperties = new java.util.Properties();
            jdbcProperties.load(this.getClass().getResourceAsStream("jdbc.properties"));

            DriverManagerDataSource dataSource = new DriverManagerDataSource();
            dataSource.setDriverClassName(jdbcProperties.getProperty("jdbc.driverClassName").toString());
            dataSource.setUrl(jdbcProperties.getProperty("jdbc.url").toString());

            Properties props = new Properties();
            props.setProperty("user", username);
            props.setProperty("password", password);
            props.setProperty("loginTimeout", "5");

            dataSource.setConnectionProperties(props);

            jdbcTemplate = new JdbcTemplate(dataSource);

            array.put(username, jdbcTemplate);
        }

        return jdbcTemplate;
    }
}
Fenixx
 
Сообщения: 61
Зарегистрирован: Вс ноя 29, 2009 1:35 pm
Откуда: Россия


Вернуться в Java EE

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1