sql >> Database teknologi >  >> RDS >> Oracle

Optimering af JDBC-hentningsstørrelse ved brug af Spring Boots application.properties

En BeanPostProcessor vil behandle alle bønnerne i ApplicationContext og på den måde kan du tilføje yderligere konfiguration eller erstatte den helt, hvis du ønsker det.

Du kan oprette en BeanPostProcessor som ville tilføje egenskaberne til den konfigurerede DataSource . Eksemplet nedenfor antager brugen af ​​commons-dbcp 1 eller 2, hvis du bruger en anden DataSource ændre i overensstemmelse hermed.

public class DataSourceConfiguringBeanPostProcessor implements BeanPostProcessor {
    private final Map<String,String> properties = new HashMap<>;

    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        if (bean instance BasicDataSource ) { 
            for (Map.Entry<String, String> prop : properties.entrySet()) {
                ((BasicDataSource) bean).addConnectionProperty(prop.getKey(), prop.getValue());
            }
        }
        return bean;
    }

    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        return bean;
    }

    public void setProperties(Map<String, String> properties) {
        this.properties.putAll(properties);
    }
}

Nu kan du tilføje dette til din konfiguration, og det vil tilføje egenskaberne til DataSource bønner.

@Bean
public BeanPostProcessor dataSourcePostProcessor() {
    DataSourceConfiguringBeanPostProcessor processor = new DataSourceConfiguringBeanPostProcessor();
    Map<String, String> properties = new HashMap<>();
    properties.put("defaultRowPrefetch", "15");
    properties.put("defaultBatchValue", "25");
    processor.setProperties(properties);
    return processor;
}

Det burde gøre det trick for at konfigurere datakilden.




  1. Hvordan bruger jeg MySQL gennem XAMPP?

  2. Hvordan deaktiverer man triggere i MySQL?

  3. Opsætning af Grails 3.1.0 med MySQL

  4. Algoritme til generering af et tilfældigt tal