diff options
Diffstat (limited to 'juick-server-jdbc/src/main/java/com/juick/configuration/SearchConfiguration.java')
-rw-r--r-- | juick-server-jdbc/src/main/java/com/juick/configuration/SearchConfiguration.java | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/juick-server-jdbc/src/main/java/com/juick/configuration/SearchConfiguration.java b/juick-server-jdbc/src/main/java/com/juick/configuration/SearchConfiguration.java new file mode 100644 index 00000000..e6b446b6 --- /dev/null +++ b/juick-server-jdbc/src/main/java/com/juick/configuration/SearchConfiguration.java @@ -0,0 +1,43 @@ +package com.juick.configuration; + +import com.juick.service.search.SearchService; +import com.juick.service.search.SphinxSearchServiceImpl; +import org.apache.commons.dbcp2.BasicDataSource; +import org.apache.commons.lang3.StringUtils; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.DependsOn; +import org.springframework.context.annotation.PropertySource; +import org.springframework.core.env.Environment; + +import javax.annotation.Resource; + +/** + * Created by aalexeev on 11/18/16. + */ +@Configuration +@PropertySource(value = {"classpath:juick.conf"}) +public class SearchConfiguration { + @Resource + private Environment env; + + // NOTE: The close() method will be called automatically with default @Bean settings + // But Datasource interface has no close() method + @Bean + public BasicDataSource searchDataSource() { + BasicDataSource dataSource = new BasicDataSource(); + + dataSource.setDriverClassName(env.getProperty("sphinx_driver", "com.mysql.jdbc.Driver")); + dataSource.setUrl(env.getProperty("sphinx_url")); + dataSource.setUsername(env.getProperty("sphinx_user", StringUtils.EMPTY)); + dataSource.setPassword(env.getProperty("sphinx_password", StringUtils.EMPTY)); + + return dataSource; + } + + @Bean + @DependsOn("searchDataSource") + public SearchService searchService() { + return new SphinxSearchServiceImpl(searchDataSource()); + } +} |