1
|
package eu.dnetlib;
|
2
|
|
3
|
import com.mongodb.MongoClient;
|
4
|
import com.mongodb.MongoClientOptions;
|
5
|
import com.mongodb.ServerAddress;
|
6
|
import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
|
7
|
import org.apache.commons.dbcp2.BasicDataSource;
|
8
|
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
|
9
|
import org.springframework.beans.factory.annotation.Value;
|
10
|
import org.springframework.context.annotation.Bean;
|
11
|
import org.springframework.context.annotation.Configuration;
|
12
|
|
13
|
/**
|
14
|
* Created by Alessia Bardi on 31/03/17.
|
15
|
*
|
16
|
* @author Alessia Bardi
|
17
|
*/
|
18
|
@Configuration
|
19
|
public class OpenaireExporterConfig {
|
20
|
|
21
|
// POSTGRES
|
22
|
@Value("${spring.datasource.driverClassName}")
|
23
|
private String driverClassName;
|
24
|
@Value("${openaire.exporter.jdbc.url}")
|
25
|
private String jdbcUrl;
|
26
|
@Value("${openaire.exporter.jdbc.user}")
|
27
|
private String jdbcUser;
|
28
|
@Value("${openaire.exporter.jdbc.pwd}")
|
29
|
private String jdbcPwd;
|
30
|
@Value("${openaire.exporter.jdbc.minIdle}")
|
31
|
private int jdbcMinIdle;
|
32
|
@Value("${openaire.exporter.jdbc.maxIdle}")
|
33
|
private int jdbcMaxidle;
|
34
|
|
35
|
// MONGODB
|
36
|
@Value("${openaire.datasource.publisher.mongodb.host}")
|
37
|
private String mongodbHost;
|
38
|
@Value("${openaire.datasource.publisher.mongodb.port}")
|
39
|
private int mongodbPort;
|
40
|
@Value("${openaire.datasource.publisher.mongodb.connectionsPerHost}")
|
41
|
private int connectionsPerHost;
|
42
|
|
43
|
@Value("${services.is.lookup.url}")
|
44
|
private String isLookupUrl;
|
45
|
|
46
|
@Bean
|
47
|
public ISLookUpService getLookUpService() {
|
48
|
final JaxWsProxyFactoryBean jaxWsProxyFactory = new JaxWsProxyFactoryBean();
|
49
|
jaxWsProxyFactory.setServiceClass(ISLookUpService.class);
|
50
|
jaxWsProxyFactory.setAddress(isLookupUrl);
|
51
|
return (ISLookUpService) jaxWsProxyFactory.create();
|
52
|
}
|
53
|
|
54
|
@Bean
|
55
|
public BasicDataSource getProjectDataSource() {
|
56
|
return getDatasource(driverClassName, jdbcUrl, jdbcUser, jdbcPwd, jdbcMinIdle, jdbcMaxidle);
|
57
|
}
|
58
|
|
59
|
private BasicDataSource getDatasource(String driverClassName, String jdbcUrl, String jdbcUser, String jdbcPwd, int jdbcMinIdle, int jdbcMaxIdle) {
|
60
|
BasicDataSource d = new BasicDataSource();
|
61
|
d.setDriverClassName(driverClassName);
|
62
|
d.setUrl(jdbcUrl);
|
63
|
d.setUsername(jdbcUser);
|
64
|
d.setPassword(jdbcPwd);
|
65
|
d.setMinIdle(jdbcMinIdle);
|
66
|
d.setMaxIdle(jdbcMaxIdle);
|
67
|
return d;
|
68
|
}
|
69
|
|
70
|
@Bean
|
71
|
public MongoClient getMongoClient() {
|
72
|
return new MongoClient(
|
73
|
new ServerAddress(mongodbHost, mongodbPort),
|
74
|
MongoClientOptions.builder().connectionsPerHost(connectionsPerHost).build());
|
75
|
}
|
76
|
|
77
|
}
|