public class ConfigDB {
@Bean
@Primary
@ConfigurationProperties("spring.pg.datasource")
public DataSourceProperties firstDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
@ConfigurationProperties("spring.ch.datasource")
public DataSourceProperties secondDataSourceProperties() {
return new DataSourceProperties();
}
@Bean(name = "PG")
@Primary
@ConfigurationProperties("spring.pg.datasource.configuration")
public DataSource firstDataSource() {
return firstDataSourceProperties()
.initializeDataSourceBuilder()
.type(HikariDataSource.class)
.build();
}
@Bean(name = "CH")
@ConfigurationProperties("spring.ch.datasource.hikari")
public DataSource secondDataSource() {
return secondDataSourceProperties()
.initializeDataSourceBuilder()
.type(HikariDataSource.class)
.build();
}
spring.pg.datasource.url=***
spring.pg.datasource.username=***
spring.pg.datasource.password=***
spring.ch.datasource.url=jdbc:clickhouse:/**
spring.ch.datasource.driverClassName=com.github.housepower.jdbc.ClickHouseDriver**
spring.ch.datasource.hikari.connectionTimeout=30000
spring.ch.datasource.hikari.idleTimeout=600000
spring.ch.datasource.hikari.maxLifetime=18000
spring.ch.datasource.hikari.connection-test-query=SELECT 1
spring.ch.datasource.hikari.initialization-fail-timeout=30000
spring.ch.datasource.hikari.login-timeout=30000
2019-07-22 11:50:51.886 WARN 7568 --- [nio-8080-exec-1] com.zaxxer.hikari.HikariConfig : HikariPool-2 - maxLifetime is less than 30000ms, setting to default 1800000ms.
2019-07-22 11:50:51.886 INFO 7568 --- [nio-8080-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting...
2019-07-22 11:50:51.918 INFO 7568 --- [nio-8080-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed.
2019-07-22 11:50:52.596 WARN 7568 --- [nio-8080-exec-1] o.s.jdbc.support.SQLErrorCodesFactory : Error while extracting database name - falling back to empty error codes
@Service
public class ClickHouseService {
private ClickHouseDAO clickHouseDAO;
@Autowired
public ClickHouseService(ClickHouseDAO clickHouseDAO) {
this.clickHouseDAO = clickHouseDAO;
}
public List<ru.concerteza.sla.ch.model.DataRecord> giveall() {
String query = "SELECT * FROM sla.Tests";
List<ru.concerteza.sla.ch.model.DataRecord> dbquery;
return clickHouseDAO.query(query);
}
}
@Service
public class ClickHouseDAO {
private JdbcTemplate ch;
@Autowired
@Qualifier("CH")
public void ClickHouseDAO1(DataSource dataSource) {
this.ch = new JdbcTemplate(dataSource);
}
public List<DataRecord> query(String query) {
List<DataRecord> answer = ch.query(query, DataRecord.Mapper.INSTANCE);
return answer;
}
}
{ "OperatotIds" : [3] }
@JsonAutoDetect
public class CreateTask implements Serializable {
@JsonProperty(" OperatorIds")
private List<Long>OperatorIds;
public CreateTask() {
}
public List<Long> getOperatorIds() {
return OperatorIds;
}
public void setOperatorIds(List<Long> OperatorIds) {
thisOperatorIds = OperatorIds;
}
}
по поводу второго вопроса.
В моем понимании сложилось , что для , например , сравнения принадлежности одних координат к другим, нужно иметь какой то набор базовых привязок к географической области, точки отсчета откуда мы считаем геометрию.