package com.github.yingzhuo.spring.auto.jdbm2;
import jdbm.RecordManagerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
@EnableConfigurationProperties(ConfigBean.class)
@ConditionalOnClass(RecordManagerFactory.class)
@ConditionalOnProperty(name = "spring.auto.jdbm2.enabled", havingValue = "true", matchIfMissing = false)
public class Jdbm2Configuration {
private static final Logger LOGGER = LoggerFactory.getLogger(Jdbm2Configuration.class);
@Autowired
private ConfigBean configBean;
public Jdbm2Configuration() {
LOGGER.debug("spring-auto: '{}' enabled.", Jdbm2Configuration.class.getSimpleName());
}
@Bean(destroyMethod = "close")
public RecordManagerFactoryBean recordManager() {
return new RecordManagerFactoryBean(configBean.getFilename());
}
}