com.sap.cloud.mt.runtime.TomcatDataSourceLookup Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of multi-tenant-runtime Show documentation
Show all versions of multi-tenant-runtime Show documentation
Spring Boot Enablement Parent
The newest version!
/*******************************************************************************
* © 2019-2024 SAP SE or an SAP affiliate company. All rights reserved.
******************************************************************************/
package com.sap.cloud.mt.runtime;
import com.sap.cloud.mt.subscription.DataSourceInfo;
import com.sap.cloud.mt.subscription.InstanceLifecycleManager;
import com.sap.cloud.mt.subscription.exceptions.InternalError;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.sql.DataSource;
public class TomcatDataSourceLookup extends DataSourceLookup {
private static Logger logger = LoggerFactory.getLogger(TomcatDataSourceLookup.class);
private final EnvironmentAccess environment;
private final DataPoolSettings poolSettings;
private final boolean registerJmx;
public TomcatDataSourceLookup(InstanceLifecycleManager instanceLifecycleManager, EnvironmentAccess environment,
DataPoolSettings poolSettings, boolean oneDataSourcePerDb,
boolean registerJmx) {
super(instanceLifecycleManager, oneDataSourcePerDb);
this.environment = environment;
this.poolSettings = poolSettings;
this.registerJmx = registerJmx;
}
public TomcatDataSourceLookup(InstanceLifecycleManager instanceLifecycleManager, EnvironmentAccess environment,
DataPoolSettings poolSettings, boolean oneDataSourcePerDb) {
this(instanceLifecycleManager, environment, poolSettings, oneDataSourcePerDb, false);
}
@Override
public DataSource create(DataSourceInfo info) throws InternalError {
DataSourceCreator dataSourceCreator = null;
logger.debug("Tomcat pooling data source taken");
dataSourceCreator = new DataSourceCreatorTomcat(poolSettings, registerJmx);
return dataSourceCreator.create(info, environment);
}
@Override
public void closeDataSource(DataSource dataSource) {
if (dataSource == null) {
return;
}
logger.debug("Close Tomcat pooling data source");
org.apache.tomcat.jdbc.pool.DataSource tomcatDataSource = (org.apache.tomcat.jdbc.pool.DataSource) dataSource;
tomcatDataSource.close();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy