Search in sources :

Example 1 with AutoLoad

use of com.alibaba.druid.filter.AutoLoad in project druid by alibaba.

the class DruidDataSource method initFromSPIServiceLoader.

/**
     * load filters from SPI ServiceLoader
     * 
     * @see ServiceLoader
     */
private void initFromSPIServiceLoader() {
    String property = System.getProperty("druid.load.spifilter.skip");
    if (property != null) {
        return;
    }
    ServiceLoader<Filter> druidAutoFilterLoader = ServiceLoader.load(Filter.class);
    for (Filter autoFilter : druidAutoFilterLoader) {
        AutoLoad autoLoad = autoFilter.getClass().getAnnotation(AutoLoad.class);
        if (autoLoad != null && autoLoad.value()) {
            if (LOG.isInfoEnabled()) {
                LOG.info("load filter from spi :" + autoFilter.getClass().getName());
            }
            addFilter(autoFilter);
        }
    }
}
Also used : WallFilter(com.alibaba.druid.wall.WallFilter) Filter(com.alibaba.druid.filter.Filter) AutoLoad(com.alibaba.druid.filter.AutoLoad)

Aggregations

AutoLoad (com.alibaba.druid.filter.AutoLoad)1 Filter (com.alibaba.druid.filter.Filter)1 WallFilter (com.alibaba.druid.wall.WallFilter)1