From 02723131139806c761539a42a5fa80b68ecadee8 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Thu, 29 Jun 2017 14:03:04 +0300 Subject: project structure: split server into jdbc + web --- .../juick/configuration/SearchConfiguration.java | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 juick-server-jdbc/src/main/java/com/juick/configuration/SearchConfiguration.java (limited to 'juick-server-jdbc/src/main/java/com/juick/configuration/SearchConfiguration.java') 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()); + } +} -- cgit v1.2.3