本文整理汇总了Java中org.springframework.jdbc.datasource.DelegatingDataSource类的典型用法代码示例。如果您正苦于以下问题:Java DelegatingDataSource类的具体用法?Java DelegatingDataSource怎么用?Java DelegatingDataSource使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DelegatingDataSource类属于org.springframework.jdbc.datasource包,在下文中一共展示了DelegatingDataSource类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createInstance
import org.springframework.jdbc.datasource.DelegatingDataSource; //导入依赖的package包/类
@Override
protected DataSource createInstance() throws Exception {
Preconditions.checkNotNull(config, "config cannot be empty");
final ComboPooledDataSource targetDataSource = createNewDataSource();
final DelegatingDataSource proxyDataSource = createProxyDataSource(targetDataSource);
config.setReloadCallback(new ReloadCallback() {
@Override
public void reload() throws Exception {
// switch data source
ComboPooledDataSource oldTargetDataSource = (ComboPooledDataSource)proxyDataSource.getTargetDataSource();
ComboPooledDataSource newTargetDataSource = createNewDataSource();
newTargetDataSource.getConnection().close(); // initialize a connection (+ throw it away) to force the datasource to initialize the pool
proxyDataSource.setTargetDataSource(newTargetDataSource);
oldTargetDataSource.close();
}
});
return proxyDataSource;
}
示例2: createInstance
import org.springframework.jdbc.datasource.DelegatingDataSource; //导入依赖的package包/类
@Override
protected DataSource createInstance() throws Exception {
Preconditions.checkNotNull(config, "config cannot be empty");
final BoneCPDataSource targetDataSource = createNewDataSource();
final DelegatingDataSource proxyDataSource = createProxyDataSource(targetDataSource);
config.setReloadCallback(new ReloadCallback() {
@Override
public void reload() throws Exception {
// switch data source
BoneCPDataSource oldTargetDataSource = (BoneCPDataSource)proxyDataSource.getTargetDataSource();
BoneCPDataSource newTargetDataSource = createNewDataSource();
newTargetDataSource.getConnection().close(); // initialize a connection (+ throw it away) to force the datasource to initialize the pool
proxyDataSource.setTargetDataSource(newTargetDataSource);
oldTargetDataSource.close();
}
});
return proxyDataSource;
}
示例3: createInstance
import org.springframework.jdbc.datasource.DelegatingDataSource; //导入依赖的package包/类
@Override
protected DataSource createInstance() throws Exception {
Preconditions.checkNotNull(config, "config cannot be empty");
final DruidDataSource targetDataSource = createNewDataSource();
final DelegatingDataSource proxyDataSource = createProxyDataSource(targetDataSource);
config.setReloadCallback(new ReloadCallback() {
@Override
public void reload() throws Exception {
// switch data source
DruidDataSource oldTargetDataSource = (DruidDataSource)proxyDataSource.getTargetDataSource();
DruidDataSource newTargetDataSource = createNewDataSource();
newTargetDataSource.getConnection().close(); // initialize a connection (+ throw it away) to force the datasource to initialize the pool
proxyDataSource.setTargetDataSource(newTargetDataSource);
oldTargetDataSource.close();
}
});
return proxyDataSource;
}
示例4: closeDataSource
import org.springframework.jdbc.datasource.DelegatingDataSource; //导入依赖的package包/类
/**
* Close the datasource. This part is c3p0 specific, since the close is not generally available
* on the {@link DataSource} interface.
*
* @param dataSource
* the data source to close. if null, nothing will be done.
*/
private void closeDataSource(DataSource dataSource) {
try {
// if wrapped get target DataSource
while (dataSource instanceof DelegatingDataSource) {
dataSource = ((DelegatingDataSource) dataSource).getTargetDataSource();
}
if (dataSource instanceof PooledDataSource) {
LOGGER.info("Closing database connection pool.");
((PooledDataSource) dataSource).close();
}
} catch (Exception e) {
LOGGER.error("An error occurred while closing the connections", e);
}
}
示例5: setDataSource
import org.springframework.jdbc.datasource.DelegatingDataSource; //导入依赖的package包/类
/**
* Méthode utilisée par l'initialisation spring pour la mise en place
* du {@link DataSource}
*/
public void setDataSource(DataSource dataSource) {
/*
* Il faut utiliser une DelegatingDataSource car le transaction manager d'hibernate
* n'accepte pas de partager la gestion d'un data-source avec un autre transaction
* manager.
* On wrappe donc la data-source pour qu'hibernate accepte de déléguer la gestion.
*/
DelegatingDataSource myDataSource = new DelegatingDataSource(dataSource);
jdbcTemplate = new JdbcTemplate(myDataSource);
}
示例6: createProxyDataSource
import org.springframework.jdbc.datasource.DelegatingDataSource; //导入依赖的package包/类
protected DelegatingDataSource createProxyDataSource(DataSource targetDataSource) {
return new DelegatingDataSource(targetDataSource) {
@Override
public String toString() {
if(getTargetDataSource()!=null) {
return getTargetDataSource().toString();
} else {
return "_NULL_DATA_SOURCE_";
}
}
};
}
示例7: findTemporaryDatabase
import org.springframework.jdbc.datasource.DelegatingDataSource; //导入依赖的package包/类
private static TemporaryDatabase findTemporaryDatabase(final DataSource dataSource) {
if (dataSource instanceof TemporaryDatabase) {
return (TemporaryDatabase) dataSource;
} else if (dataSource instanceof DelegatingDataSource) {
return findTemporaryDatabase(((DelegatingDataSource) dataSource).getTargetDataSource());
} else {
return null;
}
}
示例8: destroyInstance
import org.springframework.jdbc.datasource.DelegatingDataSource; //导入依赖的package包/类
@Override
protected void destroyInstance(DataSource instance) throws Exception {
((ComboPooledDataSource)((DelegatingDataSource)instance).getTargetDataSource()).close();
}
示例9: destroyInstance
import org.springframework.jdbc.datasource.DelegatingDataSource; //导入依赖的package包/类
@Override
protected void destroyInstance(DataSource instance) throws Exception {
((BoneCPDataSource)((DelegatingDataSource)instance).getTargetDataSource()).close();
}
示例10: destroyInstance
import org.springframework.jdbc.datasource.DelegatingDataSource; //导入依赖的package包/类
@Override
protected void destroyInstance(DataSource instance) throws Exception {
((DruidDataSource)((DelegatingDataSource)instance).getTargetDataSource()).close();
}