Java源码示例:net.ttddyy.dsproxy.support.ProxyDataSourceBuilder
示例1
@Override
public DataSource decorate(String beanName, DataSource dataSource) {
ProxyDataSourceBuilder proxyDataSourceBuilder = ProxyDataSourceBuilder.create();
DataSourceProxyProperties datasourceProxy = dataSourceDecoratorProperties.getDatasourceProxy();
proxyDataSourceBuilderConfigurer.configure(proxyDataSourceBuilder, datasourceProxy);
String dataSourceName = dataSourceNameResolver.resolveDataSourceName(dataSource);
return proxyDataSourceBuilder.dataSource(dataSource).name(dataSourceName).build();
}
示例2
@Bean
public DataSource dataSource() {
SLF4JQueryLoggingListener loggingListener = new SLF4JQueryLoggingListener();
loggingListener.setQueryLogEntryCreator(new InlineQueryLogEntryCreator());
return ProxyDataSourceBuilder
.create(actualDataSource())
.name(DATA_SOURCE_PROXY_NAME)
.listener(loggingListener)
.build();
}
示例3
@Bean
public DataSource dataSource() {
SLF4JQueryLoggingListener loggingListener = new SLF4JQueryLoggingListener();
loggingListener.setQueryLogEntryCreator(new InlineQueryLogEntryCreator());
return ProxyDataSourceBuilder
.create(actualDataSource())
.name(DATA_SOURCE_PROXY_NAME)
.listener(loggingListener)
.build();
}
示例4
@Bean
@DependsOn(value = {"btmConfig", "actualDataSource"})
public DataSource dataSource() {
SLF4JQueryLoggingListener loggingListener = new SLF4JQueryLoggingListener();
loggingListener.setQueryLogEntryCreator(new InlineQueryLogEntryCreator());
return ProxyDataSourceBuilder
.create(actualDataSource())
.name(DATA_SOURCE_PROXY_NAME)
.listener(loggingListener)
.build();
}
示例5
@Bean
public DataSource dataSource() {
SLF4JQueryLoggingListener loggingListener = new SLF4JQueryLoggingListener();
loggingListener.setQueryLogEntryCreator(new InlineQueryLogEntryCreator());
return ProxyDataSourceBuilder
.create(actualDataSource())
.name(DATA_SOURCE_PROXY_NAME)
.listener(loggingListener)
.build();
}
示例6
@Bean
public DataSource dataSource() {
SLF4JQueryLoggingListener loggingListener = new SLF4JQueryLoggingListener();
loggingListener.setQueryLogEntryCreator(new InlineQueryLogEntryCreator());
return ProxyDataSourceBuilder
.create(actualDataSource())
.name(DATA_SOURCE_PROXY_NAME)
.listener(loggingListener)
.build();
}
示例7
@Override
public void configure(Map configValues) {
super.configure(configValues);
DataSource dataSource = ProxyDataSourceBuilder
.create(getDataSource())
.name(getClass().getSimpleName())
.listener(new SLF4JQueryLoggingListener())
.build();
super.setDataSource(dataSource);
}
示例8
private DataSource dataSource() {
SLF4JQueryLoggingListener loggingListener = new SLF4JQueryLoggingListener();
loggingListener.setQueryLogEntryCreator(new InlineQueryLogEntryCreator());
return ProxyDataSourceBuilder
.create(actualDataSource())
.name(DATA_SOURCE_PROXY_NAME)
.listener(loggingListener)
.build();
}
示例9
@DependsOn(value = {"btmConfig", "actualDataSource"})
public DataSource dataSource() {
SLF4JQueryLoggingListener loggingListener = new SLF4JQueryLoggingListener();
loggingListener.setQueryLogEntryCreator(new InlineQueryLogEntryCreator());
return ProxyDataSourceBuilder
.create(actualDataSource())
.name(DATA_SOURCE_PROXY_NAME)
.listener(loggingListener)
.build();
}
示例10
@CheckReturnValue
public DataSource trace(final DataSource dataSource) {
return ProxyDataSourceBuilder.create(dataSource)
.listener(new TracingQueryExecutionListener(
tracer, operationName, lifecycle, activation, decorator))
.build();
}
示例11
protected DataSource newDataSource() {
if (proxyDataSource()) {
ChainListener listener = new ChainListener();
SLF4JQueryLoggingListener loggingListener = new SLF4JQueryLoggingListener();
loggingListener.setQueryLogEntryCreator(new AbstractTest.InlineQueryLogEntryCreator());
listener.addListener(loggingListener);
return ProxyDataSourceBuilder
.create(getDataSourceProvider().dataSource())
.name(getClass().getName())
.listener(listener)
.build();
} else {
return getDataSourceProvider().dataSource();
}
}
示例12
public ProxyDataSourceInterceptor(final DataSource dataSource) {
this.dataSource = ProxyDataSourceBuilder.create(dataSource)
.name("MyDS")
.multiline()
.logQueryBySlf4j(SLF4JLogLevel.INFO)
.listener(new DataSourceQueryCountListener())
.build();
}
示例13
public void configure(ProxyDataSourceBuilder proxyDataSourceBuilder, DataSourceProxyProperties datasourceProxy) {
switch (datasourceProxy.getLogging()) {
case SLF4J: {
if (datasourceProxy.getQuery().isEnableLogging()) {
proxyDataSourceBuilder.logQueryBySlf4j(toSlf4JLogLevel(datasourceProxy.getQuery().getLogLevel()), datasourceProxy.getQuery().getLoggerName());
}
if (datasourceProxy.getSlowQuery().isEnableLogging()) {
proxyDataSourceBuilder.logSlowQueryBySlf4j(datasourceProxy.getSlowQuery().getThreshold(), TimeUnit.SECONDS,
toSlf4JLogLevel(datasourceProxy.getSlowQuery().getLogLevel()), datasourceProxy.getSlowQuery().getLoggerName());
}
break;
}
case JUL: {
if (datasourceProxy.getQuery().isEnableLogging()) {
proxyDataSourceBuilder.logQueryByJUL(toJULLogLevel(datasourceProxy.getQuery().getLogLevel()), datasourceProxy.getQuery().getLoggerName());
}
if (datasourceProxy.getSlowQuery().isEnableLogging()) {
proxyDataSourceBuilder.logSlowQueryByJUL(datasourceProxy.getSlowQuery().getThreshold(), TimeUnit.SECONDS,
toJULLogLevel(datasourceProxy.getSlowQuery().getLogLevel()), datasourceProxy.getSlowQuery().getLoggerName());
}
break;
}
case COMMONS: {
if (datasourceProxy.getQuery().isEnableLogging()) {
proxyDataSourceBuilder.logQueryByCommons(toCommonsLogLevel(datasourceProxy.getQuery().getLogLevel()), datasourceProxy.getQuery().getLoggerName());
}
if (datasourceProxy.getSlowQuery().isEnableLogging()) {
proxyDataSourceBuilder.logSlowQueryByCommons(datasourceProxy.getSlowQuery().getThreshold(), TimeUnit.SECONDS,
toCommonsLogLevel(datasourceProxy.getSlowQuery().getLogLevel()), datasourceProxy.getSlowQuery().getLoggerName());
}
break;
}
case SYSOUT: {
if (datasourceProxy.getQuery().isEnableLogging()) {
proxyDataSourceBuilder.logQueryToSysOut();
}
if (datasourceProxy.getSlowQuery().isEnableLogging()) {
proxyDataSourceBuilder.logSlowQueryToSysOut(datasourceProxy.getSlowQuery().getThreshold(), TimeUnit.SECONDS);
}
break;
}
}
if (datasourceProxy.isMultiline() && datasourceProxy.isJsonFormat()) {
log.warn("Found opposite multiline and json format, multiline will be used (may depend on library version)");
}
if (datasourceProxy.isMultiline()) {
proxyDataSourceBuilder.multiline();
}
if (datasourceProxy.isJsonFormat()) {
proxyDataSourceBuilder.asJson();
}
if (datasourceProxy.isCountQuery()) {
proxyDataSourceBuilder.countQuery(queryCountStrategy);
}
if (listeners != null) {
listeners.forEach(proxyDataSourceBuilder::listener);
}
if (methodExecutionListeners != null) {
methodExecutionListeners.forEach(proxyDataSourceBuilder::methodListener);
}
if (parameterTransformer != null) {
proxyDataSourceBuilder.parameterTransformer(parameterTransformer);
}
if (queryTransformer != null) {
proxyDataSourceBuilder.queryTransformer(queryTransformer);
}
if (resultSetProxyLogicFactory != null) {
proxyDataSourceBuilder.proxyResultSet(resultSetProxyLogicFactory);
}
if (connectionIdManagerProvider != null) {
proxyDataSourceBuilder.connectionIdManager(connectionIdManagerProvider.get());
}
}
示例14
ProxyDataSourceInterceptor(final DataSource dataSource) {
super();
this.dataSource = ProxyDataSourceBuilder.create(dataSource).name("DATA_SOURCE_PROXY")
.logQueryBySlf4j(SLF4JLogLevel.INFO).multiline().countQuery()
.logSlowQueryBySlf4j(5, TimeUnit.SECONDS).build();
}
示例15
public ProxyDataSourceInterceptor(final DataSource dataSource) {
this.dataSource = ProxyDataSourceBuilder.create(dataSource).name("Batch-Insert-Logger").asJson().countQuery().logQueryToSysOut().build();
}