Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- One session connecting to primary Keysapce as configured in spring.data.cassandra.keyspace-name
- One session connecting to keyspaceB
- @Value("${spring.data.cassandra.keyspace-name}")
- private String primaryKeysapce;
- @Value("${item.keysapce.b:keyspaceB}")
- private String keyspaceB;
- @Override
- @Primary
- @Bean
- public CassandraSessionFactoryBean session() throws ClassNotFoundException {
- return super.session();
- }
- @Bean("cassandraOperations")
- @Primary
- public CassandraOperations cassandraOperations() throws ClassNotFoundException {
- return new CassandraTemplate(session().getObject(), cassandraConverter());
- }
- @Bean("sessionB")
- public CassandraSessionFactoryBean sessionB() throws ClassNotFoundException {
- CassandraSessionFactoryBean session = super.session();
- session.setKeyspaceName(keyspaceB);
- return session;
- }
- @Bean("cassandraOperationsB")
- public CassandraOperations cassandraOperationsB() throws ClassNotFoundException {
- return new CassandraTemplate(sessionB().getObject(), cassandraConverter());
- }
- @Override
- protected String getKeyspaceName() {
- return primaryKeysapce;
- }
- spring.data.cassandra.keyspace-name = primary_keysapce
- spring.data.cassandra.username = xyz
- spring.data.cassandra.password = abcd
- spring.data.cassandra.contact-points=myhost.company.com
- @SpringBootApplication
- @EnableAutoConfiguration
- public class DemoApplication implements CommandLineRunner {
- @Resource(name = "cassandraOperationsB")
- CassandraOperations cassandraOperationsB;
- // hall point to primary one as per spring properties
- @Autowired
- CassandraOperations cassandraOperations;
- public static void main(String[] args) {
- SpringApplication.run(DemoApplication.class, args);
- }
- }
Add Comment
Please, Sign In to add comment