2016-10-19 3 views
1

Gibt es eine Möglichkeit, die Spring 4 JDBCTemplate-Datenquelle mit einer Connection-Provider-Klasse wie die einen Hibernate bietet konfigurieren?Konfigurieren Sie Spring 4 JDBC JDBCTemplate mit Connection Provider Klasse

Ich habe Verbindungen verwaltet von Verbindungspool von einer Java-Klasse zur Verfügung gestellt. Ich kann eine Verbindung über die Provider-Klasse bekommen, aber ich bin mir nicht sicher, wie ich die JDBCTemplate-Datenquelle damit konfigurieren soll.

@Configuration 
public class MyDataSourceConfig { 
/** 
* My data source. 
* 
* @return the data source 
*/ 
@Bean(name = "myDS") 
@Primary 
public DataSource myDataSource() { 
    // I need to add a way to get a data source object using the connection 
    // from the class 
    Connection conn = DBConnection.getConnection(); 
    /** 
    * TODO Add code to create data source with the connection provider 
    * DBConnection.class 
    */ 
    return dataSource; 

} 

@Bean(name = "jdbcMydb") 
@Autowired 
public JdbcTemplate hrdbJdbcTemplate(@Qualifier("myDS") DataSource jdbcMydb) { 
    return new JdbcTemplate(jdbcMydb); 
}} 
+0

Frage ist unklar. Bitte versuchen Sie, weitere Informationen hinzuzufügen. Beginnen Sie mit der Eingabe von Code und erklären Sie, auf welchem ​​Weg Sie mit dem Problem konfrontiert sind. – user2004685

Antwort

1

Eine Lösung wäre für Sie AbstractDataSource zu erweitern und außer Kraft setzen getConnection() -Methode und schreiben neue Datasource für Sie. Oder um es wahrscheinlich einfacher zu machen, indem man konkrete Klassen erweitert wie SimpleDriverDataSource

+1

Danke @kuhajeyan! Es funktionierte. Ich habe die AbstractDataSource für die DBConnection-Klasse erweitert und die dataSource-Bean so geändert, dass sie eine neue Instanz von DBConnection zurückgibt. – Srivatsan

Verwandte Themen