J'ai réussi à faire assez facilement en utilisant ce documentation, mais cela vous laisse SimpleCassandraDao (que vous pouvez injecter à votre DAO) - ce qui est assez limité.
Ce que je ne créais la connexion pragmatiquement:
@PostConstruct
public void connect() {
if (Boolean.parseBoolean(isActive)) {
CassandraHostConfigurator cassandraHostConfigurator = new CassandraHostConfigurator(this.socket);
cluster = HFactory.getOrCreateCluster(clusterName, cassandraHostConfigurator);
ConfigurableConsistencyLevel consistencyLevelPolicy = new ConfigurableConsistencyLevel();
consistencyLevelPolicy.setDefaultReadConsistencyLevel(getConsistencyLevelPolicy());
keyspace = HFactory.createKeyspace(keyspaceName, cluster, consistencyLevelPolicy);
if (isConnected())
fireConnectionEvent(true);
else {
LOG.error("Could not connect to socket " + this.socket + ". Connection to Cassandra DB is down!!!");
}
} else {
LOG.info("Cassandra connection is not active hence could not connect to socket " + this.socket
+ ". Please activate the connection before trying to connect");
}
}
Cette méthode est une partie d'un grain de printemps (annoté avec le composant d'annotation), donc une fois que l'application est déployée le pool de connexion est créée . Comme vous le voyez, je déclenche un événement de connexion (en utilisant le support Spring Application-Event). L'événement contient le nouvel espace de touches créé puis capturé par mon Dao. De cette façon, mon Dao peut initialiser les requêtes requises. par exemple:
StringSerializer stringSerializer = StringSerializer.get();
SliceQuery<String, String, String> query = HFactory.createSliceQuery(this.keyspace, stringSerializer, stringSerializer, stringSerializer)
.setColumnFamily(columnFamily).setRange(null, null, false, 4).setKey(rowKey);
ColumnSlice<String, String> columnsSlice = query.execute().get();
List<HColumn<String, String>> columns = columnsSlice.getColumns();
J'espère que cela aide.
S'il vous plaît nous montrer ce que vous avez essayé. – krlmlr
Salut, j'ai essayé d'intégrer mon projet Spring MVC avec ma base de données locale Cassandra. J'ai configuré le fichier POM.xml et obtenu les dépendances nécessaires. Le calque Dal est terminé. Je suis confronté à deux problèmes 1. Comment puis-je faire des requêtes que j'ai besoin d'aller chercher des données de plus d'une colonne Families.2) Comment faire pour indexer les colonnes pour Querying –