· 6 years ago · Jun 01, 2019, 07:22 PM
1package com.uvt.dw.DW;
2
3import org.springframework.beans.factory.annotation.Value;
4import org.springframework.context.annotation.Bean;
5import org.springframework.context.annotation.Configuration;
6import org.springframework.data.cassandra.config.*;
7import org.springframework.data.cassandra.core.mapping.BasicCassandraMappingContext;
8import org.springframework.data.cassandra.core.mapping.CassandraMappingContext;
9import org.springframework.data.cassandra.repository.config.EnableCassandraRepositories;
10
11import java.util.Arrays;
12import java.util.List;
13
14@Configuration
15@EnableCassandraRepositories
16public class CassandraConfig extends AbstractCassandraConfiguration {
17
18
19 @Override
20 protected List<String> getStartupScripts() {
21System.out.println("=======================================================");
22 String script = "CREATE TABLE IF NOT EXISTS DATA "
23 + "WITH durable_writes = true "
24 + "AND replication = { 'replication_factor' : 1, 'class' : 'SimpleStrategy' };";
25
26 return Arrays.asList(script);
27 }
28
29 @Value("${cassandra.contactpoints}")
30 private String contactPoints;
31
32 @Value("${cassandra.port}")
33 private int port;
34
35 @Value("${cassandra.keyspace}")
36 private String keySpace;
37
38 @Value("${cassandra.basePackages}")
39 private String basePackages;
40
41 @Value("${cassandra.username}")
42 private String username;
43
44 @Value("${cassandra.password}")
45 private String password;
46
47
48
49 @Override
50 protected String getKeyspaceName() {
51 return keySpace;
52 }
53
54 @Override
55 protected String getContactPoints() {
56 return contactPoints;
57 }
58
59 @Override
60 protected int getPort() {
61 return port;
62 }
63
64 @Override
65 public SchemaAction getSchemaAction() {
66 return SchemaAction.CREATE_IF_NOT_EXISTS;
67 }
68
69 @Override
70 public String[] getEntityBasePackages() {
71 return new String[] {basePackages};
72 }
73
74
75 @Bean
76 public CassandraClusterFactoryBean cluster() {
77 CassandraClusterFactoryBean cluster =
78 new CassandraClusterFactoryBean();
79 cluster.setContactPoints(this.getContactPoints());
80 cluster.setPort(this.getPort());
81 cluster.setUsername(username);
82 cluster.setPassword(password);
83 return cluster;
84 }
85
86 @Bean
87 public CassandraMappingContext cassandraMapping()
88 throws ClassNotFoundException {
89 return new BasicCassandraMappingContext();
90 }
91
92}