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();
}