2017-09-13 8 views
1

への書き込みに春のバッチを使用して、私は次のコードを経由してカサンドラに接続することができるよ:今のところカサンドラデータベース

import com.datastax.driver.core.Cluster; 
import com.datastax.driver.core.Session; 

public static Session connection() { 
    Cluster cluster = Cluster.builder() 
     .addContactPoints("IP1", "IP2") 
     .withCredentials("user", "password") 
     .withSSL() 
     .build(); 
    Session session = null; 
    try { 
     session = cluster.connect("database_name"); 
     session.execute("CQL Statement"); 
    } finally { 
     IOUtils.closeQuietly(session); 
     IOUtils.closeQuietly(cluster); 
    } 
    return session; 
} 

問題は、私は春のバッチでカサンドラに書く必要があるということですプロジェクト。ほとんどのスターターキットは、JdbcBatchItemWriterを使用してチャンクからmySQLデータベースに書き込むようです。これは可能ですか? JdbcBatchItemWriterがCassandraデータベースに接続できないようです。

現在itemwriterコードは以下の通りです:

@Bean 
public JdbcBatchItemWriter<Person> writer() { 
    JdbcBatchItemWriter<Person> writer = new JdbcBatchItemWriter<Person>(); 
    writer.setItemSqlParameterSourceProvider(new 
     BeanPropertyItemSqlParameterSourceProvider<Person>()); 
    writer.setSql("INSERT INTO people (first_name, last_name) VALUES 
     (:firstName, :lastName)"); 
    writer.setDataSource(dataSource); 
    return writer; 
} 

答えて

2

春データカサンドラは、あなたが春のバッチからカサンドラへの書き込みにRepositoryItemWriterと組み合わせて使用​​することができるはずカサンドラのリポジトリ抽象化を提供します。

+1

私はあなたの提案をしようとしています。それ以上の洞察を提供できますか? –

関連する問題